X-Git-Url: http://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=wfcqueue.c;h=90b810e23494000ae6620f0d1505b8d7247a5f10;hp=1fa27ac0d71f329f9dea641e4fb1248e429f16c6;hb=852a17ad88c691a96a67754bce91826b33877812;hpb=8ad4ce587f001ae026d5560ac509c2e48986130b diff --git a/wfcqueue.c b/wfcqueue.c index 1fa27ac..90b810e 100644 --- a/wfcqueue.c +++ b/wfcqueue.c @@ -57,13 +57,13 @@ void cds_wfcq_enqueue(struct cds_wfcq_head *head, void cds_wfcq_dequeue_lock(struct cds_wfcq_head *head, struct cds_wfcq_tail *tail) { - cds_wfcq_dequeue_lock(head, tail); + _cds_wfcq_dequeue_lock(head, tail); } void cds_wfcq_dequeue_unlock(struct cds_wfcq_head *head, struct cds_wfcq_tail *tail) { - cds_wfcq_dequeue_unlock(head, tail); + _cds_wfcq_dequeue_unlock(head, tail); } struct cds_wfcq_node *cds_wfcq_dequeue_blocking( @@ -90,6 +90,13 @@ struct cds_wfcq_node *__cds_wfcq_dequeue_blocking( return ___cds_wfcq_dequeue_blocking(head, tail); } +struct cds_wfcq_node *__cds_wfcq_dequeue_nonblocking( + struct cds_wfcq_head *head, + struct cds_wfcq_tail *tail) +{ + return ___cds_wfcq_dequeue_nonblocking(head, tail); +} + void __cds_wfcq_splice_blocking( struct cds_wfcq_head *dest_q_head, struct cds_wfcq_tail *dest_q_tail, @@ -100,6 +107,16 @@ void __cds_wfcq_splice_blocking( src_q_head, src_q_tail); } +int __cds_wfcq_splice_nonblocking( + struct cds_wfcq_head *dest_q_head, + struct cds_wfcq_tail *dest_q_tail, + struct cds_wfcq_head *src_q_head, + struct cds_wfcq_tail *src_q_tail) +{ + return ___cds_wfcq_splice_nonblocking(dest_q_head, dest_q_tail, + src_q_head, src_q_tail); +} + struct cds_wfcq_node *__cds_wfcq_first_blocking( struct cds_wfcq_head *head, struct cds_wfcq_tail *tail) @@ -107,6 +124,13 @@ struct cds_wfcq_node *__cds_wfcq_first_blocking( return ___cds_wfcq_first_blocking(head, tail); } +struct cds_wfcq_node *__cds_wfcq_first_nonblocking( + struct cds_wfcq_head *head, + struct cds_wfcq_tail *tail) +{ + return ___cds_wfcq_first_nonblocking(head, tail); +} + struct cds_wfcq_node *__cds_wfcq_next_blocking( struct cds_wfcq_head *head, struct cds_wfcq_tail *tail, @@ -114,3 +138,11 @@ struct cds_wfcq_node *__cds_wfcq_next_blocking( { return ___cds_wfcq_next_blocking(head, tail, node); } + +struct cds_wfcq_node *__cds_wfcq_next_nonblocking( + struct cds_wfcq_head *head, + struct cds_wfcq_tail *tail, + struct cds_wfcq_node *node) +{ + return ___cds_wfcq_next_nonblocking(head, tail, node); +}