X-Git-Url: https://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=wfcqueue.c;fp=wfcqueue.c;h=3474ee0819a10943ef52b32853210418a5ec3d38;hp=1fa27ac0d71f329f9dea641e4fb1248e429f16c6;hb=47215721095cf47e110f113d26f9e61514405a4c;hpb=111ce0c32c06f79ddcf3c2af3b869a8563106433 diff --git a/wfcqueue.c b/wfcqueue.c index 1fa27ac..3474ee0 100644 --- a/wfcqueue.c +++ b/wfcqueue.c @@ -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); +}