From: Kurt Zeilenga Date: Mon, 24 May 1999 22:20:34 +0000 (+0000) Subject: setsockopt( SO_KEEPALIVE ) on the listen() socket. Will be X-Git-Tag: OPENLDAP_SLAPD_BACK_LDAP~6 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=1a7d72e62946e69641c097f58e8536112beb46aa;p=openldap setsockopt( SO_KEEPALIVE ) on the listen() socket. Will be inherited on accept(). --- diff --git a/servers/slapd/daemon.c b/servers/slapd/daemon.c index b84ce2d188..86410a54fc 100644 --- a/servers/slapd/daemon.c +++ b/servers/slapd/daemon.c @@ -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",