Provided by: liblibrecast-dev_0.8.0-1.1build1_amd64 bug

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)