From ef9f7d9bed2d109e81c876b63135dca536ad7142 Mon Sep 17 00:00:00 2001 From: Kurt Zeilenga Date: Mon, 26 Jul 1999 18:09:39 +0000 Subject: [PATCH] Enable slapd tcp keep alives --- CHANGES | 1 + servers/slapd/daemon.c | 12 +++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) 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; -- 2.47.2