]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-ldbm/compare.c
Remove duplicate ldap_pvt_thread_rdwr_runlock
[openldap] / servers / slapd / back-ldbm / compare.c
index ab6022809edb02bc53923fb0148ca8dfdd4721d3..4075766a4b5e7e43fc63450c7f5863675d788c14 100644 (file)
@@ -2,7 +2,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1998-2006 The OpenLDAP Foundation.
+ * Copyright 1998-2007 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -56,8 +56,6 @@ ldbm_back_compare(
                                NULL, &op->o_req_dn, LDAP_SCOPE_DEFAULT );
                }
 
-               ldap_pvt_thread_rdwr_runlock(&li->li_giant_rwlock);
-
                rs->sr_err = LDAP_REFERRAL;
                goto return_results;
        }
@@ -107,7 +105,7 @@ ldbm_back_compare(
        }
 
 return_results:;
-       cache_return_entry_r( &li->li_cache, e );
+       if ( e ) cache_return_entry_r( &li->li_cache, e );
        ldap_pvt_thread_rdwr_runlock(&li->li_giant_rwlock);
 
        send_ldap_result( op, rs );