X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=urcu%2Fstatic%2Fwfstack.h;h=018a1213b525d2266c6187da7b8fffd03dc94e43;hb=131a29a6627c8a1aee35491ac43984ebe756909c;hp=24f6cb478447e76ec0be88b6a86beb28b129e83c;hpb=a03a0f42bd1e3ca7c0cb207d9d5b19c61e696068;p=urcu.git diff --git a/urcu/static/wfstack.h b/urcu/static/wfstack.h index 24f6cb4..018a121 100644 --- a/urcu/static/wfstack.h +++ b/urcu/static/wfstack.h @@ -47,9 +47,10 @@ extern "C" { * Stack implementing push, pop, pop_all operations, as well as iterator * on the stack head returned by pop_all. * - * Wait-free operations: cds_wfs_push, __cds_wfs_pop_all. - * Blocking operations: cds_wfs_pop, cds_wfs_pop_all, iteration on stack - * head returned by pop_all. + * Wait-free operations: cds_wfs_push, __cds_wfs_pop_all, cds_wfs_empty, + * cds_wfs_first. + * Blocking operations: cds_wfs_pop, cds_wfs_pop_all, cds_wfs_next, + * iteration on stack head returned by pop_all. * * Synchronization table: * @@ -283,7 +284,7 @@ _cds_wfs_pop_all_blocking(struct cds_wfs_stack *s) } /* - * cds_wfs_first_blocking: get first node of a popped stack. + * cds_wfs_first: get first node of a popped stack. * * Content written into the node before enqueue is guaranteed to be * consistent, but no other memory ordering is ensured. @@ -291,9 +292,11 @@ _cds_wfs_pop_all_blocking(struct cds_wfs_stack *s) * Used by for-like iteration macros in urcu/wfstack.h: * cds_wfs_for_each_blocking() * cds_wfs_for_each_blocking_safe() + * + * Returns NULL if popped stack is empty, top stack node otherwise. */ static inline struct cds_wfs_node * -_cds_wfs_first_blocking(struct cds_wfs_head *head) +_cds_wfs_first(struct cds_wfs_head *head) { if (___cds_wfs_end(head)) return NULL; @@ -309,6 +312,9 @@ _cds_wfs_first_blocking(struct cds_wfs_head *head) * Used by for-like iteration macros in urcu/wfstack.h: * cds_wfs_for_each_blocking() * cds_wfs_for_each_blocking_safe() + * + * Returns NULL if reached end of popped stack, non-NULL next stack + * node otherwise. */ static inline struct cds_wfs_node * _cds_wfs_next_blocking(struct cds_wfs_node *node)