diff --git a/aucat/midi.c b/aucat/midi.c index 5aba26d..00bcf63 100644 --- a/aucat/midi.c +++ b/aucat/midi.c @@ -274,13 +274,17 @@ thru_eof(struct aproc *p, struct abuf *ibuf) { if (!(p->flags & APROC_QUIT)) return; - if (LIST_EMPTY(&p->ins)) + if (LIST_EMPTY(&p->ins) || LIST_EMPTY(&p->outs)) aproc_del(p); } void thru_hup(struct aproc *p, struct abuf *obuf) { + if (!(p->flags & APROC_QUIT)) + return; + if (LIST_EMPTY(&p->outs)) + aproc_del(p); } void