libev/libuv interoperation with ev_async
Marc Lehmann
schmorp at schmorp.de
Mon Nov 30 19:41:25 CET 2020
On Mon, Nov 30, 2020 at 09:29:48PM +0300, Mons Anderson <mons at cpan.org> wrote:
> I've found that all I need to integrate them is to have access to
> evpipe (to put a watcher on it from another event loop), but libev
> interface doesn't provide any way to access it.
What exactly do you mean with evpipe? The internal evpipe member?
The problem is that it is not clear what you want to (or can) do with it
- its value and use is essentialy undocumented, undefined, and can change
at any time. I'd be hard presed to see what potential use its value could
be. Specifically, evpipe can NOT reliably tell you when an ev_async_send
is pending.
Note that libev does not protect its internal members, so you could embed
libev in a version where you understand and/or can guarantee that the evpipe
member works as you want it to, e.g. in my_ev.c:
#include "ev.c"
... code can now read evpipe, so you can define a function here.
But for this to work reliably you probably have to patch libev anyway, to
make evpipe signal async sends reliably.
--
The choice of a Deliantra, the free code+content MORPG
-----==- _GNU_ http://www.deliantra.net
----==-- _ generation
---==---(_)__ __ ____ __ Marc Lehmann
--==---/ / _ \/ // /\ \/ / schmorp at schmorp.de
-=====/_/_//_/\_,_/ /_/\_\
More information about the libev
mailing list