# db_deadlock |

`

###

    db_deadlock [-vw]
        [-a m | o | y] [-h home] [-L file] [-t sec]

# Description

The db_deadlock utility traverses the database lock structures and aborts a lock request each time it detects a deadlock. 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 multiple threads or processes are using locking.

The options are as follows:

-a
  When a deadlock is detected, abort the oldest (o) lock request, the youngest (y) lock request, or the lock request whose locker holds the minimum number of locks (m).

-h
  Specify a home directory for the database.

-L
  Log the execution of the db_deadlock utility to the specified file in the following format, where ### is the process ID, and the date is the time the utility starting running.

  >     db_deadlock: ### Wed Jun 15 01:23:45 EDT 1995

  This file will be removed if the db_deadlock utility exits gracefully.

-t
  Initiate a pass over the database locks at least every sec seconds.

-v
  Run in verbose mode, generating messages each time the detector runs.

-w
  Make a single pass over the database locks every time a process is forced to wait for a lock.

At least one of the -t and -w options must be specified.

The db_deadlock utility attaches to one or more of the Berkeley DB shared memory regions. In order to avoid region corruption, it should always be given the chance to detach and exit gracefully. To cause db_deadlock to clean up after itself and exit, send it an interrupt signal (SIGINT).

The db_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 db_deadlock utility should be started.

The lock_detect function is the underlying function used by the db_deadlock utility. See the db_deadlock utility source code for an example of using lock_detect in a POSIX 1003.1 environment.

The db_deadlock utility exits 0 on success, and >0 if an error occurs.

# Environment Variables

DB_HOME
  If the -h option is not specified and the environment variable DB_HOME is set, it is used as the path of the database home, as described in DBENV->open.

# See Also

db_archive, db_checkpoint, db_deadlock, db_dump, db_load, db_recover, and db_stat.`

Copyright Sleepycat Software