* Content written into the node before enqueue is guaranteed to be
* consistent, but no other memory ordering is ensured.
* It is valid to reuse and free a dequeued node immediately.
- * Mutual exlusion with cds_wfcq_dequeue_blocking and dequeue lock is
+ * Mutual exclusion with cds_wfcq_dequeue_blocking and dequeue lock is
* ensured.
*/
extern struct cds_wfcq_node *cds_wfcq_dequeue_blocking(
* dest_q must be already initialized.
* Content written into the node before enqueue is guaranteed to be
* consistent, but no other memory ordering is ensured.
- * Mutual exlusion with cds_wfcq_dequeue_blocking and dequeue lock is
+ * Mutual exclusion with cds_wfcq_dequeue_blocking and dequeue lock is
* ensured.
*
* Returns enum cds_wfcq_ret which indicates the state of the src or
* Used by for-like iteration macros:
* __cds_wfcq_for_each_blocking()
* __cds_wfcq_for_each_blocking_safe()
+ *
+ * Returns NULL if queue is empty, first node otherwise.
*/
extern struct cds_wfcq_node *__cds_wfcq_first_blocking(
struct cds_wfcq_head *head,
* Used by for-like iteration macros:
* __cds_wfcq_for_each_blocking()
* __cds_wfcq_for_each_blocking_safe()
+ *
+ * Returns NULL if reached end of queue, non-NULL next queue node
+ * otherwise.
*/
extern struct cds_wfcq_node *__cds_wfcq_next_blocking(
struct cds_wfcq_head *head,