OpenDNSSEC-signer  1.4.5
Functions
fifoq.c File Reference
#include "config.h"
#include "scheduler/fifoq.h"
#include "shared/log.h"
#include <ldns/ldns.h>
Include dependency graph for fifoq.c:

Go to the source code of this file.

Functions

fifoq_typefifoq_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)

Function Documentation

void fifoq_cleanup ( fifoq_type q)
fifoq_type* fifoq_create ( allocator_type allocator)
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.

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, and fifoq_struct::q_threshold.

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 fifoq_create().