From: Jaroslav Kysela Date: Tue, 11 Nov 2025 15:17:16 +0000 (+0100) Subject: seq: fix snd_seq_drain_output return value for partial drain X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=b97a11ecf0a1ed4cbed7933e3b013438d9ac9d7f;p=alsa-lib.git seq: fix snd_seq_drain_output return value for partial drain The processed value was not properly updated thus the partial flush was not notified properly. Signed-off-by: Jaroslav Kysela --- diff --git a/src/seq/seq.c b/src/seq/seq.c index 4807d481..49f013e0 100644 --- a/src/seq/seq.c +++ b/src/seq/seq.c @@ -4449,13 +4449,14 @@ int snd_seq_drain_output(snd_seq_t *seq) while (seq->obufused > 0) { result = seq->ops->write(seq, seq->obuf, seq->obufused); if (result < 0) { - if (result == -EAGAIN && processed) + if (result == -EAGAIN && processed > 0) return seq->obufused; return result; } if ((size_t)result < seq->obufused) memmove(seq->obuf, seq->obuf + result, seq->obufused - result); seq->obufused -= result; + processed += result; } return 0; }