callback never invoked
rustahm at gmail.com
Sun Oct 18 11:46:44 CEST 2020
Thank you, Marc, for your input. This is my first time using such a
library, so I guess I don't get your point.
My main program should only receive a list of relevant events from inotify
and process them through a callback function of the main program. I want
libev++ to watch a directory of files and call the callback function as
soon as inotify gives at least one relevant event. And I don't want libev++
to block my main program, that's why I tried to use it with NOWAIT.
Am I doing it totally wrong? Is libev++ a right tool for the task?
If I add ev_run(EV_A_ 0); to engage_watcher() I get use of undeclared
identifier 'loop'. If I also add ev::default_loop loop; then I can build
and run the program but it gets blocked until I change a file in the
directory being watched. And even after that the program's window doesn't
If I replace 0 with EVRUN_NOWAIT then the window shows up but io_callback()
is never invoked again.
How can I get it working?
On Mon, Oct 12, 2020 at 2:51 PM Marc Lehmann <schmorp at schmorp.de> wrote:
> On Sun, Oct 11, 2020 at 04:51:09PM +0500, rustahm <rustahm at gmail.com>
> > Please find attached the source code. Could anyone explain why the
> > is never invoked when I do change the files?
> You probably never call ev's mainloop: you only call ev::run once with
> NOWAIT, so unless any change happens before that call, libev code is never
> invoked and therefore does not have a chance of calling your callback.
> You would need to put something like ev_run (EV_A_ 0) into your main
> (which you haven't shown).
> Also, ev::get_default_loop() (and .run) is internal undocumented
> functionality which you should not call if you want your program to
> continue to work with future versions.
> The choice of a Deliantra, the free code+content
> -----==- _GNU_ http://www.deliantra.net
> ----==-- _ generation
> ---==---(_)__ __ ____ __ Marc Lehmann
> --==---/ / _ \/ // /\ \/ / schmorp at schmorp.de
> -=====/_/_//_/\_,_/ /_/\_\
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the libev