DB5.3_DEADLOCK(1) | General Commands Manual | DB5.3_DEADLOCK(1) |
db5.3_deadlock - Detect and abort deadlocks
db5.3_deadlock [-Vv] [-a e | m | n | o | W | w | y] [-h home] [-L file] [-t sec.usec]
The db5.3_deadlock utility traverses the database environment lock region, and aborts a lock request each time it detects a deadlock or a lock request that has timed out. By default, in the case of a deadlock, a random lock request is chosen to be aborted.
This utility should be run as a background daemon, or the underlying Berkeley DB deadlock detection interfaces should be called in some other way, whenever there are multiple threads or processes accessing a database and at least one of them is modifying it.
This file will be removed if the db5.3_deadlock utility exits gracefully.
If the -t option is not specified, db5.3_deadlock will run once and exit.
The db5.3_deadlock utility uses a Berkeley DB environment (as described for the -h option, the environment variable DB_HOME, or because the utility was run in a directory containing a Berkeley DB environment). In order to avoid environment corruption when using a Berkeley DB environment, db5.3_deadlock should always be given the chance to detach from the environment and exit gracefully. To cause db5.3_deadlock to release all environment resources and exit cleanly, send it an interrupt signal (SIGINT).
The db5.3_deadlock utility does not attempt to create the Berkeley DB shared memory regions if they do not already exist. The application which creates the region should be started first, and then, once the region is created, the db5.3_deadlock utility should be started.
The DB_ENV->lock_detect method is the underlying method used by the db_deadlock utility. See the db_deadlock utility source code for an example of using DB_ENV->lock_detect in a IEEE/ANSI Std 1003.1 (POSIX) environment.
The db5.3_deadlock utility exits 0 on success, and >0 if an error occurs.
Sleepycat Software, Inc. This manual page was created based on the HTML documentation for db_deadlock from Sleepycat, by Thijs Kinkhorst <thijs@kinkhorst.com>, for the Debian system (but may be used by others).
28 January 2005 |