lock.c File Reference

#include "config.h"
#include <sys/types.h>
#include <errno.h>
#include <string.h>
#include "db_int.h"
#include "db_page.h"
#include "db_shash.h"
#include "lock.h"
#include "log.h"
#include "db_am.h"
#include "txn.h"

Go to the source code of this file.

Functions

static int __lock_checklocker (DB_LOCKTAB *lt, struct __db_lock *lockp, u_int32_t locker, u_int32_t flags, int *freed)
static int __lock_get_internal (DB_LOCKTAB *lt, u_int32_t locker, u_int32_t flags, const DBT *obj, db_lockmode_t lock_mode, DB_LOCK *lock)
static int __lock_is_parent (DB_LOCKTAB *lt, u_int32_t locker, DB_LOCKER *sh_locker)
static int __lock_put_internal (DB_LOCKTAB *lt, struct __db_lock *lockp, u_int32_t obj_ndx, u_int32_t flags)
static int __lock_put_nolock (DB_ENV *dbenv, DB_LOCK *lock, int *runp)
static void __lock_remove_waiter (DB_LOCKOBJ *sh_obj, struct __db_lock *lockp, db_status_t status)
static void __lock_remove_waiter __P ((DB_LOCKOBJ *, struct __db_lock *, db_status_t))
static int __lock_put_nolock __P ((DB_ENV *, DB_LOCK *, int *))
static int __lock_put_internal __P ((DB_LOCKTAB *, struct __db_lock *, u_int32_t, u_int32_t))
static int __lock_is_parent __P ((DB_LOCKTAB *, u_int32_t, DB_LOCKER *))
static int __lock_get_internal __P ((DB_LOCKTAB *, u_int32_t, u_int32_t, const DBT *, db_lockmode_t, DB_LOCK *))
static int __lock_checklocker __P ((DB_LOCKTAB *, struct __db_lock *, u_int32_t, u_int32_t, int *))
int CDB___lock_addfamilylocker (DB_ENV *dbenv, u_int32_t pid, u_int32_t id)
int CDB___lock_downgrade (DB_ENV *dbenv, DB_LOCK *lock, db_lockmode_t new_mode, u_int32_t flags)
int CDB___lock_freefamilylocker (DB_LOCKTAB *lt, u_int32_t locker)
void CDB___lock_freelocker (DB_LOCKTAB *lt, DB_LOCKREGION *region, DB_LOCKER *sh_locker, u_int32_t indx)
int CDB___lock_getlocker (DB_LOCKTAB *lt, u_int32_t locker, u_int32_t indx, int create, DB_LOCKER **retp)
int CDB___lock_getobj (DB_LOCKTAB *lt, const DBT *obj, u_int32_t ndx, int create, DB_LOCKOBJ **retp)
void CDB___lock_printlock (DB_LOCKTAB *lt, struct __db_lock *lp, int ispgno)
int CDB___lock_promote (DB_LOCKTAB *lt, DB_LOCKOBJ *obj)
int CDB_lock_get (DB_ENV *dbenv, u_int32_t locker, u_int32_t flags, const DBT *obj, db_lockmode_t lock_mode, DB_LOCK *lock)
int CDB_lock_id (DB_ENV *dbenv, u_int32_t *idp)
int CDB_lock_put (DB_ENV *dbenv, DB_LOCK *lock)
int CDB_lock_vec (DB_ENV *dbenv, u_int32_t locker, u_int32_t flags, DB_LOCKREQ *list, int nlist, DB_LOCKREQ **elistp)

Variables

static const char __db_lock_err [] = "Lock table is out of available %s"
static const char __db_lock_invalid [] = "%s: Lock is no longer valid"
static const char __db_locker_invalid [] = "Locker is not valid"
static const char revid [] = "$Id: lock_8c.html,v 1.1 2008/06/08 10:19:51 sebdiaz Exp $"


Generated on Sun Jun 8 10:56:52 2008 for GNUmifluz by  doxygen 1.5.5