The "old_tail = q->tail, q->tail = node" assignment in wfqueue is not type safe; q->tail is a pointer to pointer to node and the correct value to assign is &node->next. While the arithmetic is the same, it is better to be tidy.
Signed-off-by: Paolo Bonzini <[email protected]> Reviewed-by: Mathieu Desnoyers <[email protected]> --- urcu/static/wfqueue.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/urcu/static/wfqueue.h b/urcu/static/wfqueue.h index 77828ca..19314f5 100644 --- a/urcu/static/wfqueue.h +++ b/urcu/static/wfqueue.h @@ -75,7 +75,7 @@ static inline void _cds_wfq_enqueue(struct cds_wfq_queue *q, * structure containing node and setting node->next to NULL before * publication. */ - old_tail = uatomic_xchg(&q->tail, node); + old_tail = uatomic_xchg(&q->tail, &node->next); /* * At this point, dequeuers see a NULL old_tail->next, which indicates * that the queue is being appended to. The following store will append -- 1.7.6 _______________________________________________ ltt-dev mailing list [email protected] http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
