#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 |
Defines | |
| #define | FIFOQ_MAX_COUNT 1000 |
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) |
| void | fifoq_cleanup (fifoq_type *q) |
| #define FIFOQ_MAX_COUNT 1000 |
| 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 fifoq_struct::allocator, zonelist_struct::allocator, allocator_deallocate(), lock_basic_destroy, lock_basic_off, ods_log_assert, fifoq_struct::q_lock, 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 fifoq_struct::allocator, allocator_alloc(), fifoq_wipe(), lock_basic_init, lock_basic_set, ods_log_assert, ods_log_error(), fifoq_struct::q_lock, 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 98 of file fifoq.c.
References fifoq_struct::blob, fifoq_struct::count, ods_log_deeebug(), and fifoq_struct::owner.
| ods_status fifoq_push | ( | fifoq_type * | q, | |
| void * | item, | |||
| worker_type * | worker | |||
| ) |
Push item to queue.
| [in] | q | queue |
| [in] | item | item |
| [in] | worker | owner of item |
Push item to queue.
Definition at line 127 of file fifoq.c.
References fifoq_struct::blob, fifoq_struct::count, FIFOQ_MAX_COUNT, lock_basic_broadcast, ods_log_assert, ods_log_deeebug(), ods_log_error(), 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 80 of file fifoq.c.
References fifoq_struct::blob, fifoq_struct::count, and fifoq_struct::owner.
Referenced by fifoq_create().
1.7.1