On Fri, Nov 22, 2013 at 10:04:38PM +0800, Åke Kullenberg
<[email protected]> wrote:
> However when I run the program the slave thread's call to ev_async_send
> doesn't seem to register. The callback to master_cb_async is never invoked.
>
> static void slave_cb_timeout(EV_P_ ev_timer *w, int revents) {
> if (ev_async_pending(&async_to_master) == 0) {
> printf(" %s - sending async_send to loop\n", FUNC);
> ev_async_send(loop, &async_to_master);
The "loop" you refer to here is the parameter "loop" that EV_P_ declares.
If you change the last line to:
extern struct ev_loop *loop;
ev_async_send(loop, &async_to_master);
Then it should work (less ugly solution: rename the outer loop variable to
"loop1").
--
The choice of a Deliantra, the free code+content MORPG
-----==- _GNU_ http://www.deliantra.net
----==-- _ generation
---==---(_)__ __ ____ __ Marc Lehmann
--==---/ / _ \/ // /\ \/ / [email protected]
-=====/_/_//_/\_,_/ /_/\_\
_______________________________________________
libev mailing list
[email protected]
http://lists.schmorp.de/cgi-bin/mailman/listinfo/libev