OpenDNSSEC-signer 1.2.1
Data Structures | Defines | Typedefs | Functions

/build/buildd-opendnssec_1.2.1.dfsg-1-ia64-j6OroR/opendnssec-1.2.1.dfsg/signer/src/daemon/worker.h File Reference

#include "scheduler/task.h"
#include "scheduler/locks.h"
#include "signer/zone.h"
#include <time.h>
Include dependency graph for worker.h:

Go to the source code of this file.

Data Structures

struct  worker_struct

Defines

#define WORKER_WORKER   1

Typedefs

typedef struct worker_struct worker_type

Functions

worker_typeworker_create (int num, int type)
void worker_start (worker_type *worker)
void worker_perform_task (worker_type *worker, task_type *task)
void worker_cleanup (worker_type *worker)
void worker_sleep (worker_type *worker, time_t timeout)
void worker_wait (worker_type *worker)
void worker_wakeup (worker_type *worker)
void worker_notify (worker_type *worker)

Define Documentation

#define WORKER_WORKER   1

The hard workers.

Definition at line 43 of file worker.h.

Referenced by worker_start().


Typedef Documentation

typedef struct worker_struct worker_type

Definition at line 47 of file worker.h.


Function Documentation

void worker_cleanup ( worker_type worker)

Clean up worker.

Parameters:
[in]workerclean up this worker

Clean up worker.

Definition at line 297 of file worker.c.

References lock_basic_destroy, lock_basic_off, se_free(), se_log_warning(), worker_struct::thread_num, worker_struct::worker_alarm, and worker_struct::worker_lock.

Referenced by engine_cleanup().

worker_type* worker_create ( int  num,
int  type 
)
void worker_notify ( worker_type worker)
void worker_perform_task ( worker_type worker,
task_type task 
)
void worker_sleep ( worker_type worker,
time_t  timeout 
)

Put worker to sleep.

Parameters:
[in]workerput this worker to sleep
[in]timeouttime before alarm clock is going off, 0 means no alarm clock is set.

Put worker to sleep.

Definition at line 318 of file worker.c.

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

Referenced by worker_start().

void worker_start ( worker_type worker)
void worker_wait ( worker_type worker)

Let worker wait.

Parameters:
[in]workerwaiting worker

Worker waiting.

Definition at line 335 of file worker.c.

References lock_basic_lock, lock_basic_sleep, lock_basic_unlock, se_log_assert, worker_struct::waiting, worker_struct::worker_alarm, and worker_struct::worker_lock.

void worker_wakeup ( worker_type worker)

Wake up worker.

Parameters:
[in]workerwake up this worker

Wake up worker.

Definition at line 351 of file worker.c.

References lock_basic_alarm, lock_basic_lock, lock_basic_unlock, se_log_assert, se_log_debug(), worker_struct::sleeping, worker_struct::thread_num, worker_struct::waiting, worker_struct::worker_alarm, and worker_struct::worker_lock.