# db_env_set_func_sleep

`

###

    #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 interface must return the value of errno on failure and 0 on success.

The db_env_set_func_sleep method configures all operations performed by a process and all of its threads of control, not operations confined to a single database environment.

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

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

# Errors

The db_env_set_func_sleep method 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 method 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 method may fail and return DB_RUNRECOVERY, in which case all subsequent Berkeley DB calls will fail in the same way.

# See Also

Run-time configuration`

Copyright Sleepycat Software