]> git.ipfire.org Git - thirdparty/openldap.git/commitdiff
ITS#10113 Simplify event loop logs
authorOndřej Kuzník <ondra@mistotebe.net>
Wed, 25 Mar 2026 10:02:16 +0000 (10:02 +0000)
committerQuanah Gibson-Mount <quanah@openldap.org>
Fri, 10 Apr 2026 21:13:25 +0000 (21:13 +0000)
servers/slapd/daemon.c

index aa99b18dca73ebffd236f3bb94d5d826f7ab87bc..0f2140c476e8bff07da16ac98fcb4808ca13dce7 100644 (file)
@@ -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++ ) {