Berkeley DB: lock_close
Полезная информация


#include <db.h>

int lock_close(DB_LOCKTAB *lt);


The lock_close function closes the lock table.

The lock_close function does not release any locks still held by the closing process, providing functionality for long-lived locks. Processes that wish to have all their locks released can do so by issuing the appropriate lock_vec call.

In addition, if the dir argument to lock_open was NULL and dbenv was not initialized using db_appinit, all files created for this shared region will be removed, as if the lock_unlink function were called.

In multi-threaded applications, only a single thread may call the lock_close function.

The lock_close function returns the value of errno on failure, and 0 on success.


If a fatal error occurs in Berkeley DB, the lock_close function may fail and return DB_RUNRECOVERY, at which point all subsequent database calls will also return DB_RUNRECOVERY.

The lock_close function may fail and return errno for any of the errors specified for the following Berkeley DB and C library functions: abort(3), close(3), fcntl(3), fflush(3), fprintf(3), free(3), getpid(3), memset(3), munmap(3), shmctl(3), shmdt(3), strlen(3), unlink(3), vfprintf(3), and vsnprintf(3).

See Also

lock_close, lock_detect, lock_get, lock_id, lock_open, lock_put, lock_stat, lock_unlink and lock_vec.