[prev in list] [next in list] [prev in thread] [next in thread] 

List:       fedora-directory-commits
Subject:    =?utf-8?q?=5B389-commits=5D?= ldap/servers
From:       Mark Reynolds <mreynolds () fedoraproject ! org>
Date:       2016-07-19 22:44:45
Message-ID: 20160719224445.CBA216101B () fedorahosted ! org
[Download RAW message or body]

 ldap/servers/slapd/opshared.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

New commits:
commit bff1dd433f5de807ded1114e5961d66e2c0494e2
Author: Mark Reynolds <mreynolds@redhat.com>
Date:   Tue Jul 19 18:28:06 2016 -0400

    Ticket 48930 - Paged result search can hang the server
    
    Bug Description:  If a pages result has sent all its entry it's possible that
                      the connection lock/monitor is not exited.  This can lead
                      to a deadlock when a new connection comes in.
    
    Fix Description:  Move the monitor exit to the proper location, and also set
                      the result to success if all the entries have been sent.
    
    https://fedorahosted.org/389/ticket/48930
    
    Reviewed by: nhosoi(Thanks!)

diff --git a/ldap/servers/slapd/opshared.c b/ldap/servers/slapd/opshared.c
index 7eaa19a..15207a5 100644
--- a/ldap/servers/slapd/opshared.c
+++ b/ldap/servers/slapd/opshared.c
@@ -695,11 +695,12 @@ op_shared_search (Slapi_PBlock *pb, int send_result)
           /* search result could be reset in the backend/dse */
           slapi_pblock_get(pb, SLAPI_SEARCH_RESULT_SET, &sr);
           pagedresults_set_search_result(pb->pb_conn, operation, sr, 1/*locked*/, pr_idx);
-          PR_ExitMonitor(pb->pb_conn->c_mutex);
         }
       } else {
         pr_stat = PAGEDRESULTS_SEARCH_END;
+        rc = LDAP_SUCCESS;
       }
+      PR_ExitMonitor(pb->pb_conn->c_mutex);
       pagedresults_unlock(pb->pb_conn, pr_idx);
 
       if ((PAGEDRESULTS_SEARCH_END == pr_stat) || (0 == pnentries)) {

--
389-commits mailing list
389-commits@lists.fedoraproject.org
https://lists.fedoraproject.org/admin/lists/389-commits@lists.fedoraproject.org

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic