]> git.sur5r.net Git - openldap/commit
LDBM/back-ldbm locking reworked!
authorKurt Zeilenga <kurt@openldap.org>
Tue, 26 Jan 1999 20:55:54 +0000 (20:55 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Tue, 26 Jan 1999 20:55:54 +0000 (20:55 +0000)
commitbd6dfe333d667ea8b795b20a684c3fc1cc05f6ae
treee09af6f2289a9d0e8fbacab969827878052ab2dc
parentf3fb0c74a6ed6206912a425daf324edfca6cf3d6
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.
build/openldap.m4
configure
include/ldbm.h
libraries/libldap/print.c
libraries/libldbm/ldbm.c
servers/slapd/back-ldbm/back-ldbm.h
servers/slapd/back-ldbm/dbcache.c
servers/slapd/back-ldbm/init.c