diff options
author | wm4 <wm4@nowhere> | 2016-09-16 16:11:33 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2016-09-16 16:11:33 +0200 |
commit | 17e3e800e1b7bb568ea150fd8182b63966bff509 (patch) | |
tree | 50690b95e57dc42c92d15518915ff2cd74e2d45d /options/m_config.c | |
parent | ccf3458f8aeca2bbf16b00ebf90f9da99c86bebd (diff) | |
download | mpv-17e3e800e1b7bb568ea150fd8182b63966bff509.tar.bz2 mpv-17e3e800e1b7bb568ea150fd8182b63966bff509.tar.xz |
dispatch: fix a race condition triggering an assert()
If we were waiting, and then exiting due to timeout, we still have to
recheck the condition protected by the condition variable/mutex in order
to get back to a consistent state. In this case, the queue was locked
with mp_dispatch_lock(), and mp_dispatch_queue_process() got to return
without waiting for unlock.
Also caused commit 8716c2e8. Probably an argument for replacing the
dispatch queue by a simple mutex.
Diffstat (limited to 'options/m_config.c')
0 files changed, 0 insertions, 0 deletions