OpenDNSSEC-signer 1.3.0
|
Go to the source code of this file.
Defines | |
#define | LOCKRET(func) |
#define | PTHREADS_DISABLED 1 |
#define | lock_basic_init(lock) |
#define | lock_basic_destroy(lock) |
#define | lock_basic_lock(lock) |
#define | lock_basic_unlock(lock) |
#define | lock_basic_set(cond) |
#define | lock_basic_sleep(cond, lock, sleep) |
#define | lock_basic_alarm(cond) |
#define | lock_basic_broadcast(cond) |
#define | lock_basic_off(cond) |
#define | ods_thread_create(thr, func, arg) ods_thr_fork_create(thr, func, arg) |
#define | ods_thread_detach(thr) |
#define | ods_thread_self() getpid() |
#define | ods_thread_join(thr) ods_thr_fork_wait(thr) |
Typedefs | |
typedef int | lock_basic_type |
typedef pid_t | ods_thread_type |
Functions | |
void | ods_thr_fork_create (ods_thread_type *thr, void *(*func)(void *), void *arg) |
void | ods_thr_fork_wait (ods_thread_type thread) |
void | ods_thread_blocksigs (void) |
#define lock_basic_alarm | ( | cond | ) |
Definition at line 98 of file locks.h.
Referenced by signal_handler(), worker_notify(), and worker_wakeup().
#define lock_basic_broadcast | ( | cond | ) |
Definition at line 99 of file locks.h.
Referenced by fifoq_push(), and worker_notify_all().
#define lock_basic_destroy | ( | lock | ) |
Definition at line 92 of file locks.h.
Referenced by engine_cleanup(), fifoq_cleanup(), schedule_cleanup(), stats_cleanup(), worker_cleanup(), zone_cleanup(), zonelist_cleanup(), and zonelist_free().
#define lock_basic_init | ( | lock | ) |
Definition at line 91 of file locks.h.
Referenced by fifoq_create(), schedule_create(), stats_create(), worker_create(), zone_create(), and zonelist_create().
#define lock_basic_lock | ( | lock | ) |
Definition at line 93 of file locks.h.
Referenced by engine_start(), engine_update_zones(), rrset_queue(), rrset_sign(), signal_handler(), tools_audit(), tools_input(), tools_nsecify(), tools_output(), worker_create(), worker_notify(), worker_notify_all(), worker_sleep(), worker_sleep_unless(), worker_wait(), worker_wakeup(), and zone_recover().
#define lock_basic_off | ( | cond | ) |
Definition at line 100 of file locks.h.
Referenced by engine_cleanup(), fifoq_cleanup(), and worker_cleanup().
#define lock_basic_set | ( | cond | ) |
Definition at line 96 of file locks.h.
Referenced by fifoq_create(), and worker_create().
#define lock_basic_sleep | ( | cond, | |
lock, | |||
sleep | |||
) |
Definition at line 97 of file locks.h.
Referenced by worker_sleep(), worker_sleep_unless(), and worker_wait().
#define lock_basic_unlock | ( | lock | ) |
Definition at line 94 of file locks.h.
Referenced by engine_start(), engine_update_zones(), rrset_queue(), rrset_sign(), signal_handler(), tools_audit(), tools_input(), tools_nsecify(), tools_output(), worker_create(), worker_notify(), worker_notify_all(), worker_sleep(), worker_sleep_unless(), worker_wait(), worker_wakeup(), and zone_recover().
#define LOCKRET | ( | func | ) |
do { \ int err; \ if ( (err=(func)) != 0) \ ods_log_error("%s at %d could not " #func ": %s", \ __FILE__, __LINE__, strerror(err)); \ } while(0)
Threading and locking.
#define ods_thread_create | ( | thr, | |
func, | |||
arg | |||
) | ods_thr_fork_create(thr, func, arg) |
Definition at line 103 of file locks.h.
Referenced by cmdhandler_start().
#define ods_thread_detach | ( | thr | ) |
Definition at line 104 of file locks.h.
Referenced by cmdhandler_start().
typedef int lock_basic_type |
typedef pid_t ods_thread_type |
void ods_thr_fork_create | ( | ods_thread_type * | thr, |
void *(*)(void *) | func, | ||
void * | arg | ||
) |
No threading available: fork a new process. This means no shared data structure, and no locking. Only the main thread ever returns. Exits on errors.
thr,: | the location where to store the thread-id. |
func,: | function body of the thread. Return value of func is lost. |
arg,: | user argument to func. |
Definition at line 65 of file locks.c.
References ods_fatal_exit().
void ods_thr_fork_wait | ( | ods_thread_type | thread | ) |
There is no threading. Wait for a process to terminate. Note that ub_thread_t is defined as pid_t.
thread,: | the process id to wait for. |
Definition at line 90 of file locks.c.
References ods_log_error(), and ods_log_warning().
void ods_thread_blocksigs | ( | void | ) |
Definition at line 150 of file locks.c.
References ods_fatal_exit().