Ordering of ev_idle events not maintained.

Johannes Zeppenfeld zeppenfe at gmail.com
Wed Sep 12 17:39:16 CEST 2018

We have been using ev_idle watchers to trigger a callback when there is
nothing else to do, similar to the example from the ev_idle section of the
docs [1].

Although this works great for a single callback, we have situations where
multiple such callbacks are started simultaneously. In such cases, the
callbacks are called in the reverse order in which they were started, which
has led to some surprising behavior.

As a feature request, would it be possible to ensure proper ordering (i.e.,
the order in which they were started) of all otherwise equivalent callbacks
(specifically ev_idle)?

Our workaround for now is to use an ev_timer watcher with an after value of
0, which properly calls the callbacks in the order in which they were
started. It would be nice to see this behavior for all callbacks.


[1] http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#Examples-7
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.schmorp.de/pipermail/libev/attachments/20180912/79adfd9a/attachment.html>

More information about the libev mailing list