20 #ifndef included_svm_queue_h 21 #define included_svm_queue_h 25 typedef struct _svm_queue
27 pthread_mutex_t mutex;
28 pthread_cond_t condvar;
35 int signal_when_queue_non_empty;
60 int signal_when_queue_non_empty);
void svm_queue_unlock(svm_queue_t *q)
void svm_queue_lock(svm_queue_t *q)
int svm_queue_add_nolock(svm_queue_t *q, u8 *elem)
int svm_queue_sub_raw(svm_queue_t *q, u8 *elem)
void svm_queue_add_raw(svm_queue_t *q, u8 *elem)
Add element to queue with mutex held.
blocking call, return on signal or time-out
svm_queue_t unix_shared_memory_queue_t
int svm_queue_sub2(svm_queue_t *q, u8 *elem)
void svm_queue_free(svm_queue_t *q)
int svm_queue_is_full(svm_queue_t *q)
int svm_queue_add(svm_queue_t *q, u8 *elem, int nowait)
svm_queue_t * svm_queue_init(int nels, int elsize, int consumer_pid, int signal_when_queue_non_empty)
int svm_queue_add2(svm_queue_t *q, u8 *elem, u8 *elem2, int nowait)
struct _svm_queue svm_queue_t
int svm_queue_sub(svm_queue_t *q, u8 *elem, svm_q_conditional_wait_t cond, u32 time)