DB_ENV->set_isalive()
#include <db.h>
int
DB_ENV->set_isalive(DB_ENV *dbenv, int (*is_alive)(DB_ENV *dbenv,
pid_t pid, db_threadid_t tid, u_int32_t flags)); Declare a function that returns if a thread of control (either a true thread or a process) is still running. The DB_ENV->set_isalive() method supports the DB_ENV->failchk() method. For more information, see Architecting Data Store and Concurrent Data Store applications, and Architecting Transactional Data Store applications, both in the Berkeley DB Programmer's Reference Guide.
The DB_ENV->set_isalive() method configures operations performed using the specified DB_ENV handle, not all operations performed on the underlying database environment.
The DB_ENV->set_isalive() method may be called at any time during the life of the application.
The DB_ENV->set_isalive() method returns a non-zero error value on failure and 0 on success.
Parameters
is_alive
The is_alive parameter is a function which returns non-zero if the thread of control, identified by the pid and tid arguments, is still running. The function takes four arguments:
dbenv
The dbenv parameter is the enclosing database environment handle, allowing application access to the application-private fields of that object.
pid
The pid parameter is a process ID returned by the function specified to the DB_ENV->set_thread_id() method.
tid
The tid parameter is a thread ID returned by the function specified to the DB_ENV->set_thread_id() method.
flags
The flags parameter must be set to 0 or the following value:
DB_MUTEX_PROCESS_ONLYReturn only if the process is alive, the thread ID should be ignored.
Errors
The DB_ENV->set_isalive() method may fail and return one of the following non-zero errors:
EINVAL
An invalid flag value or parameter was specified.