Sorry if this a stupid question and shows my failure of grasping the basic 
concepts but I feel completely lost. So I have a watchdog timer whose job 
is to check every 30 seconds if there is a global kill switch flag set for 
the daemon, and if there is, it calls uv_stop() on the loop. (I understand 
I could just exit() from there but I like to keep valgrind happy at the end 
of program execution while debugging.) uv_run() returns after that, but 
when I try calling uv_loop_close() it returns UV_BUSY, and subsequent calls 
to uv_loop_delete() try the same and bomb with a SIGABRT because of an 
assertion failure. I'm not sure as to how this could happen, shouldn't 
uv_run() returning imply that the loop is done processing all of its data? 
Maybe if libuv runs its own threadpool somewhere, is there any way I can 
join on these threads as they could be the cause of the problem? How should 
I safely and successfully terminate the loop in such a condition?

TIA!

-- 
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