From: Markus Armbruster Date: Sun, 21 Feb 2010 17:44:16 +0000 (+0100) Subject: Generation numbers didn't catch all potential yields on output X-Git-Tag: hvy-plastic-2.1~2 X-Git-Url: http://git.pond.sub.org/?p=empserver;a=commitdiff_plain;h=069fb10409b6dd06495f195e771bccbc1bb58e8e Generation numbers didn't catch all potential yields on output io_output_if_queue_long() called ef_make_stale() only for long queues. Missed in commit 2fa5f652, v4.3.24. (cherry picked from commit a38c47a22c63b0e31874138548e45b58bfb636bf) --- diff --git a/src/lib/empthread/io.c b/src/lib/empthread/io.c index 5f3202597..67c605206 100644 --- a/src/lib/empthread/io.c +++ b/src/lib/empthread/io.c @@ -250,8 +250,11 @@ io_output_if_queue_long(struct iop *iop, int wait) if (CANT_HAPPEN(iop->last_out > len)) iop->last_out = 0; - if (len - iop->last_out < iop->bufsize) + if (len - iop->last_out < iop->bufsize) { + if (wait) + ef_make_stale(); return 0; + } return io_output(iop, wait); }