Here's the documentation of the option (from uv.h):

UV_RUN_ONCE: Poll for new events once. Note that this function blocks if  
there are no pending events.

The text is kind of ambiguous. The implementation itself behaves like this 
(here's my debug log):

...
287        uv__run_prepare(loop);
288        uv__run_pending(loop);
My callback is executed here!
290        timeout = 0;
291        if ((mode & UV_RUN_NOWAIT) == 0)
292          timeout = uv_backend_timeout(loop);
294        uv__io_poll(loop, timeout);
...

In other words, the call blocks even if there was an event pending from 
before and the corresponding callback was executed within the call to 
uv_run().

Is this the intended behaviour, or rather a bug?

Martin




-- 
You received this message because you are subscribed to the Google Groups 
"libuv" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/libuv.
For more options, visit https://groups.google.com/d/optout.

Reply via email to