diff options
author | Jaroslav Kysela <perex@perex.cz> | 2013-04-09 18:10:22 +0200 |
---|---|---|
committer | Jaroslav Kysela <perex@perex.cz> | 2013-04-09 18:10:22 +0200 |
commit | 9cb5e5bee7550774586f85f9d4769b19d3ace3c4 (patch) | |
tree | aecaf07baedf7cf5340d1fb7d0d74b5d16a44047 | |
parent | e05b903b1fb16e967d838edac408304cd4470fee (diff) | |
download | alsa-utils-9cb5e5bee7550774586f85f9d4769b19d3ace3c4.tar.gz |
alsactl: daemon mode - remove disconnected cards
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
-rw-r--r-- | alsactl/daemon.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/alsactl/daemon.c b/alsactl/daemon.c index 34056a3..127701e 100644 --- a/alsactl/daemon.c +++ b/alsactl/daemon.c @@ -431,7 +431,9 @@ int state_daemon(const char *file, const char *cardname, int period, goto out; } j += cards[i]->pfds; - if (revents & POLLIN) { + if (revents & (POLLERR|POLLNVAL)) { + card_free(&cards[i]); + } else if (revents & POLLIN) { if (card_events(cards[i])) { /* delay the write */ if (!changed) |