--- libev/ev.c 2012/05/29 21:37:14 1.440 +++ libev/ev.c 2012/05/30 15:45:40 1.441 @@ -3137,6 +3137,7 @@ pipe_write_wanted = 0; /* just an optimisation, no fence needed */ + MEMORY_FENCE_ACQUIRE; if (pipe_write_skipped) { assert (("libev: pipe_w not active, but pipe not written", ev_is_active (&pipe_w)));