]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-ldbm/cache.c
Removed unnecessary definition that is already in core.schema.
[openldap] / servers / slapd / back-ldbm / cache.c
index 791e8a5b3479717ad5782ee76bc44dcaff2ad2b9..1e6d1bbd3ef66bccf17efbf03697c8acda051a8a 100644 (file)
@@ -180,24 +180,24 @@ cache_return_entry_rw( struct cache *cache, Entry *e, int rw )
        if ( LEI(e)->lei_lruprev != NULL ) { \
                LEI(LEI(e)->lei_lruprev)->lei_lrunext = LEI(e)->lei_lrunext; \
        } else { \
-               cache->c_lruhead = LEI(e)->lei_lrunext; \
+               (cache)->c_lruhead = LEI(e)->lei_lrunext; \
        } \
        if ( LEI(e)->lei_lrunext != NULL ) { \
                LEI(LEI(e)->lei_lrunext)->lei_lruprev = LEI(e)->lei_lruprev; \
        } else { \
-               cache->c_lrutail = LEI(e)->lei_lruprev; \
+               (cache)->c_lrutail = LEI(e)->lei_lruprev; \
        } \
 } while(0)
 
 #define LRU_ADD( cache, e ) do { \
-       LEI(e)->lei_lrunext = cache->c_lruhead; \
+       LEI(e)->lei_lrunext = (cache)->c_lruhead; \
        if ( LEI(e)->lei_lrunext != NULL ) { \
-               LEI(LEI(e)->lei_lrunext)->lei_lruprev = e; \
+               LEI(LEI(e)->lei_lrunext)->lei_lruprev = (e); \
        } \
-       cache->c_lruhead = e; \
+       (cache)->c_lruhead = (e); \
        LEI(e)->lei_lruprev = NULL; \
-       if ( cache->c_lrutail == NULL ) { \
-               cache->c_lrutail = e; \
+       if ( (cache)->c_lrutail == NULL ) { \
+               (cache)->c_lrutail = (e); \
        } \
 } while(0)
 
@@ -477,7 +477,6 @@ try_again:
                                dn, id, state);
 
                        ldap_pvt_thread_yield();
-
                        goto try_again;
                }
 
@@ -529,17 +528,19 @@ try_again:
                (AVL_CMP) entry_id_cmp )) != NULL )
        {
                int state;
+               ID      ep_id;
+
                count++;
 
                assert( ep->e_private );
 
+               ep_id = ep->e_id; 
                state = LEI(ep)->lei_state;
 
                /*
                 * entry is deleted or not fully created yet
                 */
                if ( state != CACHE_ENTRY_READY ) {
-                       ID      ep_id = ep->e_id; 
 
                        assert(state != CACHE_ENTRY_UNDEFINED);
 
@@ -563,6 +564,11 @@ try_again:
 
                        /* free cache mutex */
                        ldap_pvt_thread_mutex_unlock( &cache->c_mutex );
+
+                       Debug(LDAP_DEBUG_TRACE,
+                               "====> cache_find_entry_id( %ld ): %ld (busy) %d\n",
+                               id, ep_id, state);
+
                        ldap_pvt_thread_yield();
                        goto try_again;
                }
@@ -578,7 +584,7 @@ try_again:
 
                Debug(LDAP_DEBUG_TRACE,
                        "====> cache_find_entry_id( %ld ) \"%s\" (found) (%d tries)\n",
-                       id, ep->e_dn, count);
+                       ep_id, ep->e_dn, count);
 
                return( ep );
        }