OpenDNSSEC-signer
1.3.15
|
#include "config.h"
#include "daemon/worker.h"
#include "shared/allocator.h"
#include "shared/locks.h"
#include "shared/status.h"
#include <stdio.h>
#include <time.h>
#include <ldns/ldns.h>
Go to the source code of this file.
Data Structures | |
struct | fifoq_struct |
Macros | |
#define | FIFOQ_MAX_COUNT 1000 |
#define | FIFOQ_TRIES_COUNT 100 |
Typedefs | |
typedef struct fifoq_struct | fifoq_type |
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) |
#define FIFOQ_MAX_COUNT 1000 |
FIFO Queue.
Definition at line 55 of file fifoq.h.
Referenced by fifoq_pop(), fifoq_push(), and fifoq_wipe().
#define FIFOQ_TRIES_COUNT 100 |
Definition at line 56 of file fifoq.h.
Referenced by fifoq_push().
typedef struct fifoq_struct fifoq_type |
void fifoq_cleanup | ( | fifoq_type * | q) |
Clean up queue.
[in] | q | queue to be cleaned up |
Clean up queue.
Definition at line 167 of file fifoq.c.
References zonelist_struct::allocator, fifoq_struct::allocator, allocator_deallocate(), lock_basic_destroy, lock_basic_off, ods_log_assert, 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.
[in] | allocator | memory allocator |
Create new FIFO queue.
Definition at line 50 of file fifoq.c.
References zonelist_struct::allocator, fifoq_struct::allocator, allocator_alloc(), fifoq_wipe(), lock_basic_init, lock_basic_set, ods_log_assert, ods_log_error(), fifoq_struct::q_lock, fifoq_struct::q_locked, fifoq_struct::q_nonfull, and fifoq_struct::q_threshold.
void* fifoq_pop | ( | fifoq_type * | q, |
worker_type ** | worker | ||
) |
Pop item from queue.
[in] | q | queue |
[out] | worker | worker that owns the item |
Pop item from queue.
Definition at line 100 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.
ods_status fifoq_push | ( | fifoq_type * | q, |
void * | item, | ||
worker_type * | worker, | ||
int * | tries | ||
) |
Push item to queue.
[in] | q | queue |
[in] | item | item |
[in] | worker | owner of item |
[out] | tries | number of tries |
Push item to queue.
Definition at line 133 of file fifoq.c.
References fifoq_struct::blob, fifoq_struct::count, FIFOQ_MAX_COUNT, FIFOQ_TRIES_COUNT, lock_basic_broadcast, ods_log_assert, ods_log_debug(), ods_log_deeebug(), ODS_STATUS_OK, ODS_STATUS_UNCHANGED, fifoq_struct::owner, and fifoq_struct::q_threshold.
Referenced by rrset_queue().
void fifoq_wipe | ( | fifoq_type * | q) |
Wipe queue.
[in] | q | queue to be wiped |
[out] | worker | worker that owns the item |
Wipe queue.
Definition at line 82 of file fifoq.c.
References fifoq_struct::blob, fifoq_struct::count, FIFOQ_MAX_COUNT, and fifoq_struct::owner.
Referenced by fifoq_create().