X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=alsa_write.c;h=1c168e7b4b037f8e8853681e02254879f0912640;hp=047eeaa348f9017431fc42e5c121ba08f331d3b0;hb=de2a0b8fa6c9f7dbee01ef989c4ca1f450a7af8b;hpb=0440ca41086eafb233b5cb516419de830a0bec13 diff --git a/alsa_write.c b/alsa_write.c index 047eeaa3..1c168e7b 100644 --- a/alsa_write.c +++ b/alsa_write.c @@ -150,8 +150,10 @@ static void alsa_write_pre_select(struct sched *s, struct task *t) if (ret == 0) return; - if (ret < 0 || !pad) + if (!pad) return sched_min_delay(s); + if (ret < 0) + return sched_request_barrier_or_min_delay(&pad->drain_barrier, s); /* * Data is available to be written to the alsa handle. Compute number * of milliseconds until next buffer underrun would occur.