]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-ldbm/id2entry.c
Apply devel IDL fixes...
[openldap] / servers / slapd / back-ldbm / id2entry.c
index ab8ff238f1f9f177eb5fcd17ce13b3ea29c404b1..115dc0a2fef7ccc487e906e7c5ecede088f779f7 100644 (file)
@@ -17,10 +17,8 @@ id2entry_add( Backend *be, Entry *e )
        Datum           key, data;
        int             len, rc, flags;
 
-#ifdef HAVE_BERKELEY_DB2
-       memset( &key, 0, sizeof( key ) );
-       memset( &data, 0, sizeof( data ) );
-#endif
+       ldbm_datum_init( key );
+       ldbm_datum_init( data );
 
        Debug( LDAP_DEBUG_TRACE, "=> id2entry_add( %lu, \"%s\" )\n", e->e_id,
            e->e_dn, 0 );
@@ -35,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;
 
@@ -44,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 );
 
@@ -66,20 +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
 
-#ifdef HAVE_BERKELEY_DB2
-       memset( &key, 0, sizeof( key ) );
-#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",
@@ -112,10 +102,8 @@ id2entry( Backend *be, ID id, int rw )
        Datum           key, data;
        Entry           *e;
 
-#ifdef HAVE_BERKELEY_DB2
-       memset( &key, 0, sizeof( key ) );
-       memset( &data, 0, sizeof( data ) );
-#endif
+       ldbm_datum_init( key );
+       ldbm_datum_init( data );
 
        Debug( LDAP_DEBUG_TRACE, "=> id2entry_%s( %ld )\n",
                rw ? "w" : "r", id, 0 );
@@ -164,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 );