Historically, the Berkeley DB interfaces have returned the POSIX error value EAGAIN to indicate a deadlock. This has been removed from the Berkeley DB 3.0 release in order to make it possible for applications to distinguish between EAGAIN errors returned by the system and returns from Berkeley DB indicating deadlock.
The application should be searched for any occurrences of EAGAIN. For each of these, any that are checking for a deadlock return from Berkeley DB should be changed to check for the DB_LOCK_DEADLOCK return value.
If, for any reason, this is a difficult change for the application to
make, the include/db.src
distribution file should be modified to
translate all returns of DB_LOCK_DEADLOCK to EAGAIN. Search for the
string EAGAIN in that file, there is a comment that describes how to make
the change.