]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-ldbm/back-ldbm.h
ITS#2390 - freeing uninit'd ndn
[openldap] / servers / slapd / back-ldbm / back-ldbm.h
index ca78ab336a8ae608b2985feec5469af662c814f6..b4f16656e087d04b256c40871a53cb866d3e8331 100644 (file)
@@ -1,7 +1,7 @@
 /* back-ldbm.h - ldap ldbm back-end header file */
 /* $OpenLDAP$ */
 /*
- * Copyright 1998-2000 The OpenLDAP Foundation, All Rights Reserved.
+ * Copyright 1998-2003 The OpenLDAP Foundation, All Rights Reserved.
  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
  */
 
@@ -20,9 +20,6 @@ LDAP_BEGIN_DECL
 #      define DEFAULT_DBCACHE_SIZE 100000
 #endif
 
-#define DEFAULT_DB_DIRECTORY   LDAP_RUNDIR LDAP_DIRSEP "openldap-ldbm"
-#define DEFAULT_MODE           0600
-
 #define DN_BASE_PREFIX         SLAP_INDEX_EQUALITY_PREFIX
 #define DN_ONE_PREFIX          '%'
 #define DN_SUBTREE_PREFIX      '@'
@@ -77,6 +74,8 @@ typedef ID ID_BLOCK;
 #define ID_BLOCK_INDIRECT_VALUE        0
 #define ID_BLOCK_INDIRECT(b)   (ID_BLOCK_NIDS(b) == ID_BLOCK_INDIRECT_VALUE)
 
+#define        USE_INDIRECT_NIDS       1
+
 #ifdef USE_INDIRECT_NIDS
 /*
  * Use the high bit of ID_BLOCK_NMAX to indicate an INDIRECT block, thus
@@ -117,15 +116,14 @@ typedef struct ldbm_dbcache {
        long    dbc_blksize;
        char    *dbc_name;
        LDBM    dbc_db;
+       ldap_pvt_thread_mutex_t dbc_write_mutex;
 } DBCache;
 
 #define MAXDBCACHE     128
 
 struct ldbminfo {
+       ldap_pvt_thread_rdwr_t          li_giant_rwlock;
        ID                      li_nextid;
-       ldap_pvt_thread_mutex_t         li_nextid_mutex;
-       ldap_pvt_thread_mutex_t         li_root_mutex;
-       ldap_pvt_thread_mutex_t         li_add_mutex;
        int                     li_mode;
        slap_mask_t     li_defaultmask;
        char                    *li_directory;