]> git.sur5r.net Git - openldap/commitdiff
ITS#2540 not sure, difficult to reproduce crash...
authorHoward Chu <hyc@openldap.org>
Thu, 22 May 2003 23:48:02 +0000 (23:48 +0000)
committerHoward Chu <hyc@openldap.org>
Thu, 22 May 2003 23:48:02 +0000 (23:48 +0000)
servers/slapd/back-bdb/cache.c

index 832e4931c4774e4d89b2e5bda37d42ca928088c7..e3630367c05383ea0dafaa0f4aa2eee5e963f7ba 100644 (file)
@@ -441,11 +441,6 @@ bdb_cache_find_parent(
                /* This node is not fully connected yet */
                ein->bei_state = CACHE_ENTRY_NOT_LINKED;
 
-               /* If this is the first time, save this node
-                * to be returned later.
-                */
-               if ( eir == NULL ) eir = ein;
-
                /* Insert this node into the ID tree */
                ldap_pvt_thread_rdwr_rlock( &bdb->bi_cache.c_rwlock );
                if ( avl_insert( &bdb->bi_cache.c_idtree, (caddr_t)ein,
@@ -461,6 +456,11 @@ bdb_cache_find_parent(
                        bdb_cache_entryinfo_unlock( ein );
                }
 
+               /* If this is the first time, save this node
+                * to be returned later.
+                */
+               if ( eir == NULL ) eir = ein;
+
                /* If there was a previous node, link it to this one */
                if ( ei2 ) ei2->bei_parent = ein;