Back to index

openldap  2.4.31
Defines
Lazy Locking
MDB Internals

Macros for locks that aren't actually needed. More...

Collaboration diagram for Lazy Locking:

Defines

#define LAZY_LOCKS   1
 Use lazy locking.
#define LAZY_MUTEX_LOCK(x)
 Grab the reader lock.
#define LAZY_MUTEX_UNLOCK(x)
 Release the reader lock.
#define LAZY_RWLOCK_UNLOCK(x)
 Release the DB table reader/writer lock.
#define LAZY_RWLOCK_WRLOCK(x)
 Grab the DB table write lock.
#define LAZY_RWLOCK_RDLOCK(x)
 Grab the DB table read lock.
#define LAZY_RWLOCK_DEF(x)
 Declare the DB table rwlock.
#define LAZY_RWLOCK_INIT(x, y)
 Initialize the DB table rwlock.
#define LAZY_RWLOCK_DESTROY(x)
 Destroy the DB table rwlock.

Detailed Description

Macros for locks that aren't actually needed.

The DB view is always consistent because all writes are wrapped in the wmutex. Finer-grained locks aren't necessary.


Define Documentation

#define LAZY_LOCKS   1

Use lazy locking.

I.e., don't lock these accesses at all.

Definition at line 345 of file mdb.c.

#define LAZY_MUTEX_LOCK (   x)

Grab the reader lock.

Definition at line 349 of file mdb.c.

#define LAZY_MUTEX_UNLOCK (   x)

Release the reader lock.

Definition at line 351 of file mdb.c.

#define LAZY_RWLOCK_DEF (   x)

Declare the DB table rwlock.

Should not be followed by ';'.

Definition at line 359 of file mdb.c.

#define LAZY_RWLOCK_DESTROY (   x)

Destroy the DB table rwlock.

Definition at line 363 of file mdb.c.

#define LAZY_RWLOCK_INIT (   x,
 
)

Initialize the DB table rwlock.

Definition at line 361 of file mdb.c.

#define LAZY_RWLOCK_RDLOCK (   x)

Grab the DB table read lock.

Definition at line 357 of file mdb.c.

#define LAZY_RWLOCK_UNLOCK (   x)

Release the DB table reader/writer lock.

Definition at line 353 of file mdb.c.

#define LAZY_RWLOCK_WRLOCK (   x)

Grab the DB table write lock.

Definition at line 355 of file mdb.c.