From: Ondřej Kuzník Date: Wed, 25 Mar 2026 10:02:16 +0000 (+0000) Subject: ITS#10113 Simplify event loop logs X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=246dba371ece91c5fd762ab29e30d2eac9d33646;p=thirdparty%2Fopenldap.git ITS#10113 Simplify event loop logs --- diff --git a/servers/slapd/daemon.c b/servers/slapd/daemon.c index aa99b18dca..0f2140c476 100644 --- a/servers/slapd/daemon.c +++ b/servers/slapd/daemon.c @@ -3018,38 +3018,51 @@ loop: * higher priority. */ #ifdef LDAP_DEBUG - Debug( LDAP_DEBUG_CONNS, "daemon: activity on:" ); + if ( LogTest( LDAP_DEBUG_CONNS ) ) { + char *ptr = ebuf; + int remaining = sizeof(ebuf); - for ( i = 0; i < ns; i++ ) { - int r, w, fd; + *ptr = '\0'; + for ( i = 0; i < ns; i++ ) { + int r, w, fd; - /* Don't log listener events */ - if ( SLAP_EVENT_IS_LISTENER( tid, i ) + /* Don't log listener events */ + if ( SLAP_EVENT_IS_LISTENER( tid, i ) #ifdef LDAP_CONNECTIONLESS - && !( (SLAP_EVENT_LISTENER( tid, i ))->sl_is_udp ) + && !( (SLAP_EVENT_LISTENER( tid, i ))->sl_is_udp ) #endif /* LDAP_CONNECTIONLESS */ - ) - { - continue; - } + ) + { + continue; + } - fd = SLAP_EVENT_FD( tid, i ); - /* Don't log internal wake events */ - if ( fd == wake_sds[tid][0] ) continue; + fd = SLAP_EVENT_FD( tid, i ); + /* Don't log internal wake events */ + if ( fd == wake_sds[tid][0] ) continue; #ifdef HAVE_KQUEUE - r = SLAP_EVENT_IS_READ( tid, i ); - w = SLAP_EVENT_IS_WRITE( tid, i ); + r = SLAP_EVENT_IS_READ( tid, i ); + w = SLAP_EVENT_IS_WRITE( tid, i ); #else - r = SLAP_EVENT_IS_READ( i ); - w = SLAP_EVENT_IS_WRITE( i ); + r = SLAP_EVENT_IS_READ( i ); + w = SLAP_EVENT_IS_WRITE( i ); #endif /* HAVE_KQUEUE */ - if ( r || w ) { - Debug( LDAP_DEBUG_CONNS, " %d%s%s", fd, - r ? "r" : "", w ? "w" : "" ); + if ( r || w ) { + int written = snprintf( ptr, remaining, "%d%s%s ", + fd, r ? "r" : "", w ? "w" : "" ); + if ( written >= remaining ) { + *ptr = '\0'; + Debug( LDAP_DEBUG_CONNS, "daemon: activity on: %s\n", ebuf ); + ptr = ebuf; + remaining = sizeof(ebuf); + written = snprintf( ptr, remaining, "%d%s%s ", + fd, r ? "r" : "", w ? "w" : "" ); + } + remaining -= written; + } } + Debug( LDAP_DEBUG_CONNS, "daemon: activity on: %s\n", ebuf ); } - Debug( LDAP_DEBUG_CONNS, "\n" ); #endif /* LDAP_DEBUG */ for ( i = 0; i < ns; i++ ) {