Hi,
Is it a correct assumption that ev_async_send() is a sequential
consistency barrier?
From source code it doesn't seem so.
ev_async_send() publishes event with
w->sent = 1;
Where "sent" is a volatile sig_atomic_t which doesn't impose any
ordering (afaik).
Consider:
(1) last_event = event; // or __atomic_store_n(&last_event, event,
__ATOMIC_RELEASE);
(2) ev_async_send(ev_event);
I think it's possible that "w->sent = 1" in (2) can be moved (observed
by other threads) before (1).
Could anybody comment on this please?
_______________________________________________
libev mailing list
[email protected]
http://lists.schmorp.de/cgi-bin/mailman/listinfo/libev