]> granicus.if.org Git - libevent/commit
evwatch: fix race condition
authorDan Rosen <mergeconflict@google.com>
Wed, 17 Apr 2019 19:44:59 +0000 (15:44 -0400)
committerDan Rosen <mergeconflict@google.com>
Wed, 17 Apr 2019 19:52:05 +0000 (15:52 -0400)
commit1cd8830de27c30c5324c75bfb6012c969c09ca2c
treea82a9312f1eb03794f3830b498ddabe4eebef40c
parent04563d59d25404d10cda32c78831bdb3f6cf4c0c
evwatch: fix race condition

There was a race between event_base_loop and evwatch_new (adding a
prepare/check watcher while iterating over the watcher list). Only
release the mutex immediately before invoking each watcher callback,
and reacquire it immediately afterwards (same as is done for normal
event handlers).
event.c