OpenDNSSEC-signer
1.4.10
|
Go to the source code of this file.
Functions | |
fifoq_type * | fifoq_create (allocator_type *allocator) |
void | fifoq_wipe (fifoq_type *q) |
void * | fifoq_pop (fifoq_type *q, worker_type **worker) |
ods_status | fifoq_push (fifoq_type *q, void *item, worker_type *worker, int *tries) |
void | fifoq_cleanup (fifoq_type *q) |
void fifoq_cleanup | ( | fifoq_type * | q | ) |
Clean up queue.
Definition at line 158 of file fifoq.c.
References fifoq_struct::allocator, allocator_deallocate(), lock_basic_destroy, lock_basic_off, fifoq_struct::q_lock, fifoq_struct::q_nonfull, and fifoq_struct::q_threshold.
Referenced by engine_cleanup().
fifoq_type* fifoq_create | ( | allocator_type * | allocator | ) |
Create new FIFO queue.
Definition at line 46 of file fifoq.c.
References fifoq_struct::allocator, allocator_alloc(), fifoq_wipe(), lock_basic_init, lock_basic_set, ods_log_error(), fifoq_struct::q_lock, fifoq_struct::q_nonfull, and fifoq_struct::q_threshold.
void* fifoq_pop | ( | fifoq_type * | q, |
worker_type ** | worker | ||
) |
Pop item from queue.
Notify waiting workers that they can start queuing again If no workers are waiting, this call has no effect.
Definition at line 89 of file fifoq.c.
References fifoq_struct::blob, fifoq_struct::count, FIFOQ_MAX_COUNT, lock_basic_broadcast, fifoq_struct::owner, and fifoq_struct::q_nonfull.
Referenced by worker_create().
ods_status fifoq_push | ( | fifoq_type * | q, |
void * | item, | ||
worker_type * | worker, | ||
int * | tries | ||
) |
Push item to queue.
#262: If drudgers remain on hold, do additional broadcast. If no drudgers are waiting, this call has no effect.
Definition at line 119 of file fifoq.c.
References fifoq_struct::blob, fifoq_struct::count, FIFOQ_MAX_COUNT, FIFOQ_TRIES_COUNT, lock_basic_broadcast, ods_log_debug(), ods_log_deeebug(), ODS_STATUS_ASSERT_ERR, ODS_STATUS_OK, ODS_STATUS_UNCHANGED, fifoq_struct::owner, fifoq_struct::q_threshold, and worker_struct::task.
Referenced by worker_create().
void fifoq_wipe | ( | fifoq_type * | q | ) |
Wipe queue.
Definition at line 72 of file fifoq.c.
References fifoq_struct::blob, fifoq_struct::count, FIFOQ_MAX_COUNT, and fifoq_struct::owner.
Referenced by engine_start(), and fifoq_create().