Hi!! I'm using libev in a multithreading project and I'm debugging with ThreadSanitizer from clang. The ThreadSanitizer says there is a data race in libev, but i'm not sure if it is a false positive.
I'm wake up a event loop using ev_async because belongs to another thread. This is not supposed cause races. This is the traceback that ThreadSanitizer throw: thread 1 (perform a Write) #0 evpipe_write - ev.c:2443 #1 ev_async_send - ev.c:4912 #2 ev::async::send() - ev++.h:801 thread 2 (perform a Read) #0 ev_run - ev.c:3613 And then when I take a look on those files the variable that apparently races is "pipe_write_skipped" but in the code looks like is a "sig_atomic_t" type that should not be causing races. Is there any chances that this race condition is real or is just a false positive?? Sorry if I was not clear enough or I misspoke, english is not my strong
_______________________________________________ libev mailing list [email protected] http://lists.schmorp.de/mailman/listinfo/libev
