]> git.sur5r.net Git - openldap/commitdiff
More cleanup
authorKurt Zeilenga <kurt@openldap.org>
Fri, 14 Oct 2005 22:04:03 +0000 (22:04 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Fri, 14 Oct 2005 22:04:03 +0000 (22:04 +0000)
servers/slapd/connection.c
servers/slapd/daemon.c
servers/slapd/proto-slap.h

index f4ce8f1d8362b20c7ae2c29c8a63e5ca3b7792d8..ec8a14c343ccd269f779d5abb69367bdd6e13a81 100644 (file)
@@ -1498,14 +1498,14 @@ int connection_read(ber_socket_t s)
                ldap_pvt_thread_mutex_unlock( MCA_GET_CONN_MUTEX(s) );
 
 #ifdef SLAP_LIGHTWEIGHT_LISTENER
-               slapd_resume( s );
+               slapd_resume( s, 1 );
 #endif
                return 0;
        }
 
        if ( c->c_conn_state == SLAP_C_CLIENT ) {
 #ifdef SLAP_LIGHTWEIGHT_LISTENER
-               slapd_resume( s );
+               slapd_resume( s, 1 );
 #endif
                slapd_clr_read( s, 0 );
                ldap_pvt_thread_pool_submit( &connection_pool,
@@ -1589,7 +1589,7 @@ int connection_read(ber_socket_t s)
                        ldap_pvt_thread_mutex_unlock( MCA_GET_CONN_MUTEX(s) );
 
 #ifdef SLAP_LIGHTWEIGHT_LISTENER
-                       slapd_resume( s );
+                       slapd_resume( s, 1 );
 #endif
                        return 0;
                }
@@ -1604,7 +1604,7 @@ int connection_read(ber_socket_t s)
                        ldap_pvt_thread_mutex_unlock( MCA_GET_CONN_MUTEX(s) );
 
 #ifdef SLAP_LIGHTWEIGHT_LISTENER
-                       slapd_resume( s );
+                       slapd_resume( s, 1 );
 #endif
                        return 0;
                }
@@ -1621,7 +1621,7 @@ int connection_read(ber_socket_t s)
                        /* connections_mutex and c_mutex are locked */
 
 #ifdef SLAP_LIGHTWEIGHT_LISTENER
-                       slapd_resume( s );
+                       slapd_resume( s, 1 );
 #endif
                        connection_closing( c, "SASL layer install failure" );
                        connection_close( c );
@@ -1676,7 +1676,7 @@ int connection_read(ber_socket_t s)
        }
 
 #ifdef SLAP_LIGHTWEIGHT_LISTENER
-       if ( need_resume ) slapd_resume( s );
+       if ( need_resume ) slapd_resume( s, 1 );
 #endif
 
        if ( ber_sockbuf_ctrl( c->c_sb, LBER_SB_OPT_NEEDS_READ, NULL ) ) {
index 4c4334c5ed1c66b9374576db27d4c396bc8528ea..ddaa0aebaaed44756bcbe882061c3a6fa228d7f9 100644 (file)
@@ -584,7 +584,7 @@ int slapd_suspend(ber_socket_t s) {
        return rc;
 }
 
-void slapd_resume ( ber_socket_t s ) {
+void slapd_resume ( ber_socket_t s, int wake ) {
        ldap_pvt_thread_mutex_lock( &slap_daemon.sd_mutex );
 
        SLAP_SOCK_SET_READ( s );
@@ -595,7 +595,7 @@ void slapd_resume ( ber_socket_t s ) {
 
        ldap_pvt_thread_mutex_unlock( &slap_daemon.sd_mutex );
 
-       WAKE_LISTENER(1);
+       WAKE_LISTENER(wake);
 }
 #endif
 
@@ -1364,13 +1364,14 @@ connection_accept(
 #  endif /* LDAP_PF_LOCAL */
 
        s = accept( sl->sl_sd, (struct sockaddr *) &from, &len );
+
 #ifdef SLAP_LIGHTWEIGHT_LISTENER
-       /*
-        * As soon as a TCP connection is accepted, the listener FD is resumed
-        * for concurrent-processing of incoming TCP connections.
+       /* Resume the listener FD to allow concurrent-processing of
+        * additional incoming connections.
         */
-       slapd_resume( sl->sl_sd );
+       slapd_resume( sl->sl_sd, 1 );
 #endif
+
        if ( s == AC_SOCKET_INVALID ) {
                int err = sock_errno();
 
index f6812d5c9e9eac8fc5aab242065ba3c910acd0db..b23245fea4fc7004e50bb0490f9491d1188fb9df 100644 (file)
@@ -652,7 +652,9 @@ LDAP_SLAPD_F (const char *) connection_state2str LDAP_P(( int state ))
        LDAP_GCCATTR((const));
 
 LDAP_SLAPD_F (int) connection_write LDAP_P((ber_socket_t s));
+
 #ifdef SLAP_LIGHTWEIGHT_LISTENER
+LDAP_SLAPD_F (int) connection_read_activate LDAP_P((ber_socket_t s));
 LDAP_SLAPD_F (int) connection_read LDAP_P((ber_socket_t, Operation **));
 #else
 LDAP_SLAPD_F (int) connection_read LDAP_P((ber_socket_t s));
@@ -720,6 +722,11 @@ LDAP_SLAPD_F (RETSIGTYPE) slap_sig_shutdown LDAP_P((int sig));
 LDAP_SLAPD_F (RETSIGTYPE) slap_sig_wake LDAP_P((int sig));
 LDAP_SLAPD_F (void) slap_wake_listener LDAP_P((void));
 
+#ifdef SLAP_LIGHTWEIGHT_LISTENER
+LDAP_SLAPD_F (int) slapd_suspend LDAP_P((ber_socket_t s));
+LDAP_SLAPD_F (void) slapd_resume LDAP_P((ber_socket_t s, int wake ));
+#endif
+
 LDAP_SLAPD_F (void) slapd_set_write LDAP_P((ber_socket_t s, int wake));
 LDAP_SLAPD_F (void) slapd_clr_write LDAP_P((ber_socket_t s, int wake));
 LDAP_SLAPD_F (void) slapd_set_read LDAP_P((ber_socket_t s, int wake));