]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-bdb/dn2entry.c
Unify use of BDB lockers
[openldap] / servers / slapd / back-bdb / dn2entry.c
index 5bdfd915b3a52a56e033593ed27e0accf615d2bf..5211f8e9b863e572368a2c088e5fe0f65f7d074e 100644 (file)
@@ -2,7 +2,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 2000-2005 The OpenLDAP Foundation.
+ * Copyright 2000-2007 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -56,8 +56,11 @@ bdb_dn2entry(
                                rc2 = bdb_cache_find_id( op, tid, ei->bei_id,
                                        &ei, 1, locker, lock );
                                if ( rc2 ) rc = rc2;
-                       } else if ( ei )
+                       } else if ( ei ) {
                                bdb_cache_entryinfo_unlock( ei );
+                               memset( lock, 0, sizeof( *lock ));
+                               lock->mode = DB_LOCK_NG;
+                       }
                } else if ( ei ) {
                        bdb_cache_entryinfo_unlock( ei );
                }