]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-ldbm/id2entry.c
Apply devel IDL fixes...
[openldap] / servers / slapd / back-ldbm / id2entry.c
index e42c1f0e511e8d704204c4f71b8fef202f98c8a3..115dc0a2fef7ccc487e906e7c5ecede088f779f7 100644 (file)
@@ -33,7 +33,7 @@ id2entry_add( Backend *be, Entry *e )
        key.dptr = (char *) &e->e_id;
        key.dsize = sizeof(ID);
 
-       pthread_mutex_lock( &entry2str_mutex );
+       ldap_pvt_thread_mutex_lock( &entry2str_mutex );
        data.dptr = entry2str( e, &len, 1 );
        data.dsize = len + 1;
 
@@ -42,10 +42,9 @@ id2entry_add( Backend *be, Entry *e )
        if ( li->li_dbcachewsync ) flags |= LDBM_SYNC;
        rc = ldbm_cache_store( db, key, data, flags );
 
-       pthread_mutex_unlock( &entry2str_mutex );
+       ldap_pvt_thread_mutex_unlock( &entry2str_mutex );
 
        ldbm_cache_close( be, db );
-       (void) cache_add_entry_lock( &li->li_cache, e, 0 );
 
        Debug( LDAP_DEBUG_TRACE, "<= id2entry_add %d\n", rc, 0, 0 );
 
@@ -64,18 +63,13 @@ id2entry_delete( Backend *be, Entry *e )
        Debug(LDAP_DEBUG_TRACE, "=> id2entry_delete( %lu, \"%s\" )\n", e->e_id,
            e->e_dn, 0 );
 
-       /* XXX - check for writer lock - should also check no reader pending */
 #ifdef LDAP_DEBUG
-       assert(pthread_rdwr_wchk_np(&e->e_rdwr));
+       /* check for writer lock */
+       assert(ldap_pvt_thread_rdwr_writers(&e->e_rdwr) == 1);
 #endif
 
        ldbm_datum_init( key );
 
-       /* XXX - check for writer lock - should also check no reader pending */
-       Debug (LDAP_DEBUG_TRACE,
-               "rdwr_Xchk: readers_reading: %d writer_writing: %d\n",
-               e->e_rdwr.readers_reading, e->e_rdwr.writer_writing, 0);
        if ( (db = ldbm_cache_open( be, "id2entry", LDBM_SUFFIX, LDBM_WRCREAT ))
                == NULL ) {
                Debug( LDAP_DEBUG_ANY, "Could not open/create id2entry%s\n",
@@ -158,7 +152,7 @@ id2entry( Backend *be, ID id, int rw )
        }
 
        e->e_id = id;
-       (void) cache_add_entry_lock( &li->li_cache, e, 0 );
+       (void) cache_add_entry( &li->li_cache, e, 0 );
 
        Debug( LDAP_DEBUG_TRACE, "<= id2entry_%s( %ld ) (disk)\n",
                rw ? "w" : "r", id, 0 );