X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fback-ldbm%2Fback-ldbm.h;h=16f5ed28a17e0c995d0eabc1f4f8a787499ca312;hb=08059f1633bfd9d0a709761b026bdb8e4441c6e6;hp=ca78ab336a8ae608b2985feec5469af662c814f6;hpb=21246739888ab8fd36c12366b5f6c34e27b86db0;p=openldap diff --git a/servers/slapd/back-ldbm/back-ldbm.h b/servers/slapd/back-ldbm/back-ldbm.h index ca78ab336a..16f5ed28a1 100644 --- a/servers/slapd/back-ldbm/back-ldbm.h +++ b/servers/slapd/back-ldbm/back-ldbm.h @@ -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-2002 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;