summaryrefslogtreecommitdiff
path: root/usr.bin
diff options
context:
space:
mode:
authorAlexandre Ratchov <ratchov@cvs.openbsd.org>2008-08-20 14:22:51 +0000
committerAlexandre Ratchov <ratchov@cvs.openbsd.org>2008-08-20 14:22:51 +0000
commit49be92c44bbf570c03d5817bd474d473091d7f20 (patch)
tree53a22676bbd9bdf5aa9211c80b4e24dd30fd8493 /usr.bin
parent3d4da9e53ed9456748a92cddf65395472984da89 (diff)
abuf_flush() must be called only from the ``xxx_in()'' routines (ie
triggered by POLLIN condition). mix_pushzero() is not called from the ``xxx_in()'' chain, but calls abuf_flush() resulting in bad initialization of the mixer, which will lead to a deadlock at some point. ok jakemsr
Diffstat (limited to 'usr.bin')
-rw-r--r--usr.bin/aucat/aproc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/usr.bin/aucat/aproc.c b/usr.bin/aucat/aproc.c
index 8fa5c7adfb4..fdace667490 100644
--- a/usr.bin/aucat/aproc.c
+++ b/usr.bin/aucat/aproc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: aproc.c,v 1.10 2008/08/14 09:58:55 ratchov Exp $ */
+/* $OpenBSD: aproc.c,v 1.11 2008/08/20 14:22:50 ratchov Exp $ */
/*
* Copyright (c) 2008 Alexandre Ratchov <alex@caoua.org>
*
@@ -474,7 +474,7 @@ mix_pushzero(struct aproc *p)
abuf_wcommit(obuf, obuf->mixtodo);
obuf->mixtodo = 0;
- abuf_flush(obuf);
+ abuf_run(obuf);
mix_bzero(p);
}