OpenDNSSEC-signer 1.3.0
Functions | Variables
/build/buildd/opendnssec-1.3.0/signer/src/daemon/worker.c File Reference
#include "adapter/adapi.h"
#include "daemon/engine.h"
#include "daemon/worker.h"
#include "shared/allocator.h"
#include "scheduler/schedule.h"
#include "scheduler/task.h"
#include "shared/locks.h"
#include "shared/log.h"
#include "shared/status.h"
#include "shared/util.h"
#include "signer/tools.h"
#include "signer/zone.h"
#include "signer/zonedata.h"
#include <time.h>
Include dependency graph for worker.c:

Go to the source code of this file.

Functions

worker_typeworker_create (allocator_type *allocator, int num, worker_id type)
void worker_start (worker_type *worker)
void worker_sleep (worker_type *worker, time_t timeout)
void worker_sleep_unless (worker_type *worker, time_t timeout)
void worker_wakeup (worker_type *worker)
void worker_wait (lock_basic_type *lock, cond_basic_type *condition)
void worker_notify (lock_basic_type *lock, cond_basic_type *condition)
void worker_notify_all (lock_basic_type *lock, cond_basic_type *condition)
void worker_cleanup (worker_type *worker)

Variables

ods_lookup_table worker_str []

Function Documentation

void worker_cleanup ( worker_type worker)
worker_type* worker_create ( allocator_type allocator,
int  num,
worker_id  type 
)
void worker_notify ( lock_basic_type lock,
cond_basic_type *  condition 
)

Notify a worker.

Definition at line 742 of file worker.c.

References lock_basic_alarm, lock_basic_lock, and lock_basic_unlock.

void worker_notify_all ( lock_basic_type lock,
cond_basic_type *  condition 
)

Notify all workers.

Definition at line 758 of file worker.c.

References lock_basic_broadcast, lock_basic_lock, and lock_basic_unlock.

void worker_sleep ( worker_type worker,
time_t  timeout 
)
void worker_sleep_unless ( worker_type worker,
time_t  timeout 
)

Put worker to sleep unless worker has measured up to all appointed jobs.

Definition at line 683 of file worker.c.

References lock_basic_lock, lock_basic_sleep, lock_basic_unlock, ods_log_assert, worker_struct::sleeping, worker_struct::worker_alarm, and worker_struct::worker_lock.

void worker_start ( worker_type worker)

Start worker.

Definition at line 641 of file worker.c.

References ods_log_assert, ods_log_error(), worker_struct::type, WORKER_DRUDGER, and WORKER_WORKER.

void worker_wait ( lock_basic_type lock,
cond_basic_type *  condition 
)

Worker waiting.

Definition at line 726 of file worker.c.

References lock_basic_lock, lock_basic_sleep, and lock_basic_unlock.

void worker_wakeup ( worker_type worker)

Variable Documentation

Initial value:
 {
    { WORKER_WORKER, "worker" },
    { WORKER_DRUDGER, "drudger" },
    { 0, NULL }
}

The hard workers.

Definition at line 50 of file worker.c.