mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-03-07 14:18:15 +08:00
ldap-int.h
This commit is contained in:
parent
96e8fafb51
commit
354702b94e
@ -290,6 +290,8 @@ void ldap_int_initialize( void )
|
||||
}
|
||||
|
||||
ldap_int_utils_init();
|
||||
if ( ldap_int_tblsize == 0 )
|
||||
ldap_int_ip_init();
|
||||
|
||||
gopts.ldo_version = LDAP_VERSION2;
|
||||
gopts.ldo_deref = LDAP_DEREF_NEVER;
|
||||
|
@ -33,6 +33,9 @@
|
||||
|
||||
#include "ldap-int.h"
|
||||
|
||||
int ldap_int_tblsize = 0;
|
||||
|
||||
|
||||
int
|
||||
ldap_connect_to_host( Sockbuf *sb, const char *host, unsigned long address,
|
||||
int port, int async )
|
||||
@ -301,34 +304,41 @@ ldap_free_select_info( void *sip )
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
ldap_int_ip_init( void )
|
||||
{
|
||||
int tblsize;
|
||||
#if defined( HAVE_SYSCONF )
|
||||
tblsize = sysconf( _SC_OPEN_MAX );
|
||||
#elif defined( HAVE_GETDTABLESIZE )
|
||||
tblsize = getdtablesize();
|
||||
#else
|
||||
tblsize = FD_SETSIZE;
|
||||
#endif /* !USE_SYSCONF */
|
||||
|
||||
#ifdef FD_SETSIZE
|
||||
if( tblsize > FD_SETSIZE )
|
||||
tblsize = FD_SETSIZE;
|
||||
#endif /* FD_SETSIZE*/
|
||||
ldap_int_tblsize = tblsize;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
do_ldap_select( LDAP *ld, struct timeval *timeout )
|
||||
{
|
||||
struct selectinfo *sip;
|
||||
static int tblsize;
|
||||
|
||||
Debug( LDAP_DEBUG_TRACE, "do_ldap_select\n", 0, 0, 0 );
|
||||
|
||||
if ( tblsize == 0 ) {
|
||||
#if defined( HAVE_SYSCONF )
|
||||
tblsize = sysconf( _SC_OPEN_MAX );
|
||||
#elif defined( HAVE_GETDTABLESIZE )
|
||||
tblsize = getdtablesize();
|
||||
#else
|
||||
tblsize = FD_SETSIZE;
|
||||
#endif /* !USE_SYSCONF */
|
||||
|
||||
#ifdef FD_SETSIZE
|
||||
if( tblsize > FD_SETSIZE ) {
|
||||
tblsize = FD_SETSIZE;
|
||||
}
|
||||
#endif /* FD_SETSIZE*/
|
||||
}
|
||||
if ( ldap_int_tblsize == 0 )
|
||||
ldap_int_ip_init();
|
||||
|
||||
sip = (struct selectinfo *)ld->ld_selectinfo;
|
||||
sip->si_use_readfds = sip->si_readfds;
|
||||
sip->si_use_writefds = sip->si_writefds;
|
||||
|
||||
return( select( tblsize, &sip->si_use_readfds, &sip->si_use_writefds,
|
||||
NULL, timeout ));
|
||||
return( select( ldap_int_tblsize,
|
||||
&sip->si_use_readfds, &sip->si_use_writefds,
|
||||
NULL, timeout ));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user