1 diff -u --recursive openldap-2.4.19-vanilla/servers/slapd/connection.c openldap-2.4.19/servers/slapd/connection.c
2 --- openldap-2.4.19-vanilla/servers/slapd/connection.c 2009-11-17 19:04:26.000000000 -0500
3 +++ openldap-2.4.19/servers/slapd/connection.c 2009-11-17 19:09:02.000000000 -0500
6 assert( connections != NULL );
8 - assert( c->c_struct_state == SLAP_C_USED );
10 + if ( c->c_struct_state != SLAP_C_USED ) return;
12 assert( c->c_conn_state != SLAP_C_INVALID );
14 /* c_mutex must be locked by caller */
17 assert( connections != NULL );
19 - assert( c->c_struct_state == SLAP_C_USED );
21 + if ( c->c_struct_state != SLAP_C_USED ) return;
23 assert( c->c_conn_state == SLAP_C_CLOSING );
25 /* NOTE: c_mutex should be locked by caller */
26 diff -u --recursive openldap-2.4.19-vanilla/servers/slapd/daemon.c openldap-2.4.19/servers/slapd/daemon.c
27 --- openldap-2.4.19-vanilla/servers/slapd/daemon.c 2009-11-17 19:04:26.000000000 -0500
28 +++ openldap-2.4.19/servers/slapd/daemon.c 2009-11-17 19:10:54.000000000 -0500
31 slapd_set_read( ber_socket_t s, int wake )
34 ldap_pvt_thread_mutex_lock( &slap_daemon.sd_mutex );
36 - assert( SLAP_SOCK_IS_ACTIVE( s ));
37 - if (!SLAP_SOCK_IS_READ( s )) SLAP_SOCK_SET_READ( s );
39 + if( SLAP_SOCK_IS_ACTIVE( s ) && !SLAP_SOCK_IS_READ( s )) {
40 + SLAP_SOCK_SET_READ( s );
44 ldap_pvt_thread_mutex_unlock( &slap_daemon.sd_mutex );
45 - WAKE_LISTENER(wake);
47 + WAKE_LISTENER(wake);