diff options
author | Max Kellermann <max@duempel.org> | 2014-04-26 22:11:23 +0200 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2014-04-26 22:11:23 +0200 |
commit | 0efb67b51e0d9d34c65bbdbd9df567a8a991cc4c (patch) | |
tree | 0eabbb79cdf144e36d37b38c8cc9040da5b1ae2a /test/test_queue_priority.cxx | |
parent | 54ebf2a699777961ebb30bc4b4fca459880d4329 (diff) | |
download | mpd-0efb67b51e0d9d34c65bbdbd9df567a8a991cc4c.tar.gz mpd-0efb67b51e0d9d34c65bbdbd9df567a8a991cc4c.tar.xz mpd-0efb67b51e0d9d34c65bbdbd9df567a8a991cc4c.zip |
DeferredMonitor: fix race condition when using GLib event loop
Turns out the lock-free code using atomics was not thread-safe. The
given callback could be invoked by GLib before the source_id attribute
was assigned. This commit changes the DeferredMonitor class to use a
Mutex to block the event loop until source_id is assigned. This bug
does not exist in the 0.19 branch because it does not use the GLib
main loop anymore.
Diffstat (limited to 'test/test_queue_priority.cxx')
0 files changed, 0 insertions, 0 deletions