#include <pthread.h>
#include <assert.h>
+#include <poll.h>
#include <urcu/compiler.h>
#include <urcu/uatomic_arch.h>
* At this point, dequeuers see a NULL node->next, they should busy-wait
* until node->next is set to old_head.
*/
- CAA_STORE_SHARED(node->next, old_head);
+ CMM_STORE_SHARED(node->next, old_head);
}
/*
int attempt = 0;
retry:
- head = CAA_LOAD_SHARED(s->head);
+ head = CMM_LOAD_SHARED(s->head);
if (head == CDS_WF_STACK_END)
return NULL;
/*
* Adaptative busy-looping waiting for push to complete.
*/
- while ((next = CAA_LOAD_SHARED(head->next)) == NULL) {
+ while ((next = CMM_LOAD_SHARED(head->next)) == NULL) {
if (++attempt >= CDS_WFS_ADAPT_ATTEMPTS) {
poll(NULL, 0, CDS_WFS_WAIT); /* Wait for 10ms */
attempt = 0;