From 281f14adb012a54d8b10c9d51dbce6f5c6f3e549 Mon Sep 17 00:00:00 2001 From: Noriko Hosoi Date: Wed, 1 Jul 2009 15:59:27 -0700 Subject: 509269 Simple paged result crashes/hangs the server There was a contention between the connection table cleanup thread (main) and the search thread. The cleanup code should have been protected by the same mutex we do in the paged result code (c_mutex). --- ldap/servers/slapd/conntable.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ldap/servers/slapd/conntable.c b/ldap/servers/slapd/conntable.c index 3a0a86ce..f4b529aa 100644 --- a/ldap/servers/slapd/conntable.c +++ b/ldap/servers/slapd/conntable.c @@ -312,7 +312,9 @@ connection_table_move_connection_out_of_active_list(Connection_Table *ct,Connect connection_release_nolock (c); + PR_Lock(c->c_mutex); connection_cleanup (c); + PR_Unlock(c->c_mutex); PR_Unlock(ct->table_mutex); -- cgit