summaryrefslogtreecommitdiff
path: root/alsactl/monitor.c
diff options
context:
space:
mode:
authorZev Weiss <zev@bewilderbeest.net>2019-10-14 23:36:50 -0500
committerJaroslav Kysela <perex@perex.cz>2020-04-14 15:33:58 +0200
commit5830fc726ac9294641592a8c007502d573f6dea1 (patch)
tree6b44632832bc243700f29b1ae7e2935b365631b4 /alsactl/monitor.c
parent10e5cef85a7e32828a73fea88edf7c6c5d4259bc (diff)
downloadalsa-utils-5830fc726ac9294641592a8c007502d573f6dea1.tar.gz
alsactl: don't exit on EINTR from epoll_wait().
Previously, things like attaching strace to a running 'alsactl monitor' process would cause it to exit. Signed-off-by: Zev Weiss <zev@bewilderbeest.net> Reviewed-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> Tested-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Diffstat (limited to 'alsactl/monitor.c')
-rw-r--r--alsactl/monitor.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/alsactl/monitor.c b/alsactl/monitor.c
index 6b090e4..cf4167b 100644
--- a/alsactl/monitor.c
+++ b/alsactl/monitor.c
@@ -342,6 +342,8 @@ static int run_dispatcher(int epfd, int sigfd, int infd, struct list_head *srcs,
count = epoll_wait(epfd, epev, max_ev_count, 200);
if (count < 0) {
+ if (errno == EINTR)
+ continue;
err = count;
break;
}