Berkeley DB: DB->set_paniccall
Description: Berkeley DB: An embedded database programmatic toolkit.
Keywords: embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,Java,C,C++

### DB->set_paniccall |

`

###

    #include <db.h>

    int
    DB->set_paniccall(DB *db,
        void (*db_panic_fcn)(DB_ENV *dbenv, int errval));

### Description: DB->set_paniccall

Errors can occur in the Berkeley DB library where the only solution is to shut down the application and run recovery (for example, if Berkeley DB is unable to allocate heap memory). In such cases, the Berkeley DB methods will return DB_RUNRECOVERY. It is often easier to simply exit the application when such errors occur rather than gracefully return up the stack. The DB->set_paniccall method specifies a function to be called when DB_RUNRECOVERY is about to be returned from a Berkeley DB method.

For DB handles opened inside of Berkeley DB environments, calling the DB->set_paniccall method affects the entire environment and is equivalent to calling the DB_ENV->set_paniccall method.

The DB->set_paniccall method may be called at any time during the life of the application.

The DB->set_paniccall method returns a non-zero error value on failure and 0 on success.

### Parameters

db_panic_fcn
  The db_panic_fcn parameter is the application-specified function called in the case of a database environment panic. The function takes two arguments:

  dbenv
    The dbenv parameter is the enclosing database environment handle.

  errval
    The errval parameter is the error value that would have been returned to the caller if DB_RUNRECOVERY were not going to be returned instead.

### Class

DB

### See Also

Databases and Related Methods`

Copyright (c) 1996-2003 Sleepycat Software, Inc. - All rights reserved.