db_env_set_func_sleep

APIRef

#include <db.h>

int db_env_set_func_sleep(int (*func_sleep)(u_long seconds, u_long microseconds));

Description

The Berkeley DB library requires the ability to cause a thread of control to suspend itself for a period of time, relinquishing control of the processor to any other waiting thread of control. The func_sleep argument must conform to the following interface:

int sleep(u_long seconds, u_long microseconds);

The seconds and microseconds arguments specify the amount of time to wait until the suspending thread of control should run again.

The seconds and microseconds arguments may not be normalized when the sleep function is called; that is, the microseconds argument may be greater than 1000000.

The func_sleep function must return the value of errno on failure and 0 on success.

The db_env_set_func_sleep interface affects the entire application, not a single database or database environment.

Although the db_env_set_func_sleep interface may be used to configure Berkeley DB at any time during the life of the application, it should normally be called before making any calls to the db_env_create or db_create functions.

The db_env_set_func_sleep function returns a non-zero error value on failure and 0 on success.

Errors

The db_env_set_func_sleep function may fail and return a non-zero error for the following conditions:

EINVAL
An invalid flag value or parameter was specified.

The db_env_set_func_sleep function may fail and return a non-zero error for errors specified for other Berkeley DB and C library or system functions. If a catastrophic error has occurred, the db_env_set_func_sleep function may fail and return DB_RUNRECOVERY, in which case all subsequent Berkeley DB calls will fail in the same way.

See Also

db_env_set_func_close, db_env_set_func_dirfree, db_env_set_func_dirlist, db_env_set_func_exists, db_env_set_func_free, db_env_set_func_fsync, db_env_set_func_ioinfo, db_env_set_func_malloc, db_env_set_func_map, db_env_set_func_open, db_env_set_func_read, db_env_set_func_realloc, db_env_set_func_seek, db_env_set_func_sleep, db_env_set_func_unlink, db_env_set_func_unmap, db_env_set_func_write, and db_env_set_func_yield.

APIRef

Copyright Sleepycat Software