[Date Prev][Date Next] [Chronological] [Thread] [Top]

HEADS UP: LDBM/back-ldbm locking

>Date: Tue, 26 Jan 1999 19:55:55 GMT
>From: kurt@OpenLDAP.org
>To: OpenLDAP Commit <openldap-commit@OpenLDAP.org>
>Subject: commit: pkg/ldap/libraries/libldbm ldbm.c
>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.

This change was required to support DB 1.85 and GDBM as well as to
allow concurrent calls within DB2.

There are still another of other threading issues that need sorting