-
- Downloads
LDBM/back-ldbm locking reworked!
back-ldbm was using a cache specific lock to protect non-reentrant database routines from being reenterred. This is inadequate. Also, reentrant database systems calls were serialized unnecessarily. Non-reentrant database calls must have a big_mutex. Implemented this within -lldbm itself. library requires ldbm_initialize() be called before any other ldbm call to initialize the big_mutex and to do any other db specific initialization (ie: such as required for DB2). The dbc_mutex, dbc_cv, & dbc_readers fileds of dbcache are history. The "reentrant_database" (REENTRANT_DATABASE) define is also axed.
Showing
- build/openldap.m4 3 additions, 3 deletionsbuild/openldap.m4
- configure 3 additions, 3 deletionsconfigure
- include/ldbm.h 9 additions, 6 deletionsinclude/ldbm.h
- libraries/libldap/print.c 0 additions, 10 deletionslibraries/libldap/print.c
- libraries/libldbm/ldbm.c 185 additions, 60 deletionslibraries/libldbm/ldbm.c
- servers/slapd/back-ldbm/back-ldbm.h 4 additions, 9 deletionsservers/slapd/back-ldbm/back-ldbm.h
- servers/slapd/back-ldbm/dbcache.c 0 additions, 38 deletionsservers/slapd/back-ldbm/dbcache.c
- servers/slapd/back-ldbm/init.c 2 additions, 14 deletionsservers/slapd/back-ldbm/init.c
Loading
Please register or sign in to comment