Man page - q_wait(3)

Packages contains this manual

Manual

Q_WAIT

NAME
LIBRARY
SYNOPSIS
DESCRIPTION
RETURN VALUE
ERRORS
SEE ALSO

NAME

q_wait - return the next job from the queue, when available

LIBRARY

Librecast library ( liblibrecast , -llibrecast )

SYNOPSIS

#include <librecast/q.h>

int q_wait(q_t *q , q_job_t *job );
int q_trywait(q_t
*q , q_job_t *job );

Compile and link with -llibrecast .

DESCRIPTION

q_wait () atomically fetches the next job in q and sets the job pointer to it. The call blocks until a job is available.

q_trywait () is the same as q_wait () except that if the queue read lock cannot be immediately obtained, then the call returns an error ( errno set to EAGAIN ) instead of blocking.

RETURN VALUE

The q_push () function returns zero on success. On error, -1 is returned and errno is set to indicate the error.

ERRORS

The function can also fail with the errors for sem_post (3) or sem_wait (3).

SEE ALSO

q_job_seek (3), q_pool_create (3), q_pool_destroy (3), q_init (3), q_free (3), q_push (3), sem_post (3), sem_wait (3)