mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-15 03:01:09 +08:00
setsockopt( SO_KEEPALIVE ) on the listen() socket. Will be
inherited on accept().
This commit is contained in:
parent
42c5a40b78
commit
1a7d72e629
@ -224,6 +224,20 @@ set_socket( struct sockaddr_in *addr )
|
||||
? sys_errlist[err] : "unknown" );
|
||||
}
|
||||
#endif
|
||||
#ifdef SO_KEEPALIVE
|
||||
tmp = 1;
|
||||
if ( setsockopt( tcps, SOL_SOCKET, SO_KEEPALIVE,
|
||||
(char *) &tmp, sizeof(tmp) ) == -1 )
|
||||
{
|
||||
int err = errno;
|
||||
Debug( LDAP_DEBUG_ANY,
|
||||
"slapd(%d): setsockopt(KEEPALIVE) failed errno %d (%s)\n",
|
||||
tcps, err,
|
||||
err > -1 && err < sys_nerr
|
||||
? sys_errlist[err] : "unknown" );
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
if ( bind( tcps, (struct sockaddr *) addr, sizeof(*addr) ) == -1 ) {
|
||||
int err = errno;
|
||||
@ -282,7 +296,7 @@ slapd_daemon_task(
|
||||
|
||||
while ( !slapd_shutdown ) {
|
||||
unsigned int i;
|
||||
int ns, nfds, tmp;
|
||||
int ns, nfds;
|
||||
|
||||
fd_set readfds;
|
||||
fd_set writefds;
|
||||
@ -456,20 +470,6 @@ slapd_daemon_task(
|
||||
#endif /* HAVE_TCPD */
|
||||
|
||||
|
||||
#ifdef SO_KEEPALIVE
|
||||
tmp = 1;
|
||||
if ( setsockopt( tcps, SOL_SOCKET, SO_KEEPALIVE,
|
||||
(char *) &tmp, sizeof(tmp) ) == -1 )
|
||||
{
|
||||
int err = errno;
|
||||
Debug( LDAP_DEBUG_ANY,
|
||||
"slapd(%d): setsockopt(KEEPALIVE) failed errno %d (%s)\n",
|
||||
tcps, err,
|
||||
err > -1 && err < sys_nerr
|
||||
? sys_errlist[err] : "unknown" );
|
||||
}
|
||||
#endif
|
||||
|
||||
if( (id = connection_init(s, client_name, client_addr)) < 0 ) {
|
||||
Debug( LDAP_DEBUG_ANY,
|
||||
"daemon: connection_init(%d, %s, %s) failed.\n",
|
||||
|
Loading…
Reference in New Issue
Block a user