OpenDNSSEC-signer  2.0.2
Functions
fifoq.c File Reference
#include "config.h"
#include "scheduler/fifoq.h"
#include "log.h"
#include <ldns/ldns.h>

Go to the source code of this file.

Functions

fifoq_typefifoq_create ()
 
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

§ fifoq_cleanup()

void fifoq_cleanup ( fifoq_type q)

Clean up queue.

Definition at line 153 of file fifoq.c.

References fifoq_struct::q_lock, fifoq_struct::q_nonfull, and fifoq_struct::q_threshold.

Referenced by engine_cleanup().

§ fifoq_create()

fifoq_type* fifoq_create ( void  )

Create new FIFO queue.

Definition at line 46 of file fifoq.c.

§ fifoq_pop()

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 84 of file fifoq.c.

References fifoq_struct::blob, fifoq_struct::count, FIFOQ_MAX_COUNT, fifoq_struct::owner, and fifoq_struct::q_nonfull.

§ fifoq_push()

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 114 of file fifoq.c.

References fifoq_struct::count, FIFOQ_MAX_COUNT, FIFOQ_TRIES_COUNT, and fifoq_struct::q_threshold.

§ fifoq_wipe()

void fifoq_wipe ( fifoq_type q)

Wipe queue.

Definition at line 68 of file fifoq.c.

References fifoq_struct::blob, fifoq_struct::count, FIFOQ_MAX_COUNT, and fifoq_struct::owner.