From: Kurt Zeilenga Date: Mon, 26 Jul 1999 18:09:39 +0000 (+0000) Subject: Enable slapd tcp keep alives X-Git-Tag: OPENLDAP_REL_ENG_1_2_5~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ef9f7d9bed2d109e81c876b63135dca536ad7142;p=thirdparty%2Fopenldap.git Enable slapd tcp keep alives --- diff --git a/CHANGES b/CHANGES index 11b0e54f6b..b28342a21f 100644 --- a/CHANGES +++ b/CHANGES @@ -8,6 +8,7 @@ Changes included in OpenLDAP 1.2 Release Engineering Import password security fix from -devel (ITS#232) Provided slapd workaround for "*" attribute type specifier (ITS#236) Fixed slapd attribute type list/only specifier on cn=monitor/config + Enable slapd keep alives. Build environment Updated to latest Autoconf (AnonCVS) Updated to latest aclocal from Automake (AnonCVS) diff --git a/servers/slapd/daemon.c b/servers/slapd/daemon.c index 0b6f3c9225..eec95b79a9 100644 --- a/servers/slapd/daemon.c +++ b/servers/slapd/daemon.c @@ -104,11 +104,21 @@ slapd_daemon( i = 1; if ( setsockopt( tcps, SOL_SOCKET, SO_REUSEADDR, (char *) &i, sizeof(i) ) == -1 ) { - Debug( LDAP_DEBUG_ANY, "setsockopt() failed errno %d (%s)", + Debug( LDAP_DEBUG_ANY, "setsockopt(reuse) failed errno %d (%s)", errno, errno > -1 && errno < sys_nerr ? sys_errlist[errno] : "unknown", 0 ); } +#ifdef SO_KEEPALIVE + i = 1; + if ( setsockopt( tcps, SOL_SOCKET, SO_KEEPALIVE, (char *) &i, + sizeof(i) ) == -1 ) { + Debug( LDAP_DEBUG_ANY, "setsockopt(keepalive) failed errno %d (%s)", + errno, errno > -1 && errno < sys_nerr ? sys_errlist[errno] : + "unknown", 0 ); + } +#endif + (void) memset( (void *) &addr, '\0', sizeof(addr) ); addr.sin_family = AF_INET; addr.sin_addr.s_addr = INADDR_ANY;