From e15f9cc3665b9f3a4b941f056d07f0e51d3cd208 Mon Sep 17 00:00:00 2001 From: Alexandre Ratchov Date: Fri, 30 Aug 2019 15:06:38 +0200 Subject: [PATCH] Kick ctl clients when device is closed --- sndiod/dev.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sndiod/dev.c b/sndiod/dev.c index fc17911..13e0999 100644 --- a/sndiod/dev.c +++ b/sndiod/dev.c @@ -1174,6 +1174,7 @@ dev_exitall(struct dev *d) { int i; struct slot *s; + struct ctlslot *c; for (s = d->slot, i = DEV_NSLOT; i > 0; i--, s++) { if (s->ops) @@ -1181,6 +1182,12 @@ dev_exitall(struct dev *d) s->ops = NULL; } d->slot_list = NULL; + + for (c = d->ctlslot, i = DEV_NCTLSLOT; i > 0; i--, c++) { + if (c->ops) + c->ops->exit(c->arg); + c->ops = NULL; + } } /*