diff options
author | Thomas Adam <thomas@xteddy.org> | 2015-09-14 12:42:19 +0100 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2015-09-14 12:42:19 +0100 |
commit | 74b958ecbed7102a0f3f5faf5d976411726661ba (patch) | |
tree | 7b0cc592b9127fe05afc9bbbf67263489d66eb85 /cmd-wait-for.c | |
parent | ef35c9f7659205659d6863058b9a7262b21440a5 (diff) | |
parent | 16efa8483888e326aed2c05a01b63b45a2b118ef (diff) | |
download | rtmux-74b958ecbed7102a0f3f5faf5d976411726661ba.tar.gz rtmux-74b958ecbed7102a0f3f5faf5d976411726661ba.tar.bz2 rtmux-74b958ecbed7102a0f3f5faf5d976411726661ba.zip |
Merge branch 'obsd-master'
Conflicts:
Makefile
Diffstat (limited to 'cmd-wait-for.c')
-rw-r--r-- | cmd-wait-for.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/cmd-wait-for.c b/cmd-wait-for.c index 0dce438b..e38ea8f1 100644 --- a/cmd-wait-for.c +++ b/cmd-wait-for.c @@ -97,7 +97,6 @@ cmd_wait_for_add(const char *name) void cmd_wait_for_remove(struct wait_channel *wc) { - if (wc->locked) return; if (!TAILQ_EMPTY(&wc->waiters) || !wc->woken) @@ -241,7 +240,8 @@ cmd_wait_for_flush(void) if (!cmdq_free(wq)) cmdq_continue(wq); } - while ((wq = TAILQ_FIRST(&wc->lockers)) != NULL) { + wc->woken = 1; + TAILQ_FOREACH_SAFE(wq, &wc->lockers, waitentry, wq1) { TAILQ_REMOVE(&wc->lockers, wq, waitentry); if (!cmdq_free(wq)) cmdq_continue(wq); |