__cds_wfcq_init(&queue->head, &queue->tail);
urcu_wait_queue_init(&queue->waitqueue);
CDS_INIT_LIST_HEAD(&queue->sibling_head);
+ pthread_mutex_init(&queue->sibling_lock, NULL);
queue->shutdown = false;
}
bool steal)
{
enum cds_wfcq_ret splice_ret;
- struct cds_wfcq_head tmp_head;
+ struct __cds_wfcq_head tmp_head;
struct cds_wfcq_tail tmp_tail;
struct cds_wfcq_node *node;
*/
if (cds_wfcq_empty(src_head, src_tail))
return false;
- cds_wfcq_init(&tmp_head, &tmp_tail);
+ __cds_wfcq_init(&tmp_head, &tmp_tail);
/* Ensure that we preserve FIFO work order. */
assert(!steal || worker->own == NULL);
}
/* Splice into worker workqueue. */
- splice_ret = cds_wfcq_splice_blocking(&worker->head,
+ splice_ret = __cds_wfcq_splice_blocking(&worker->head,
&worker->tail,
&tmp_head,
&tmp_tail);