diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/modules/module-null-sink.c | 4 | ||||
-rw-r--r-- | src/modules/module-pipe-sink.c | 5 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/modules/module-null-sink.c b/src/modules/module-null-sink.c index 3e471d41..bb0a5045 100644 --- a/src/modules/module-null-sink.c +++ b/src/modules/module-null-sink.c @@ -175,8 +175,10 @@ static void thread_func(void *userdata) { pa_asyncmsgq_after_poll(u->asyncmsgq); if (r < 0) { - if (errno == EINTR) + if (errno == EINTR) { + pollfd.revents = 0; continue; + } pa_log("poll() failed: %s", pa_cstrerror(errno)); goto fail; diff --git a/src/modules/module-pipe-sink.c b/src/modules/module-pipe-sink.c index e27a237e..db8b2e10 100644 --- a/src/modules/module-pipe-sink.c +++ b/src/modules/module-pipe-sink.c @@ -203,8 +203,11 @@ static void thread_func(void *userdata) { pa_asyncmsgq_after_poll(u->asyncmsgq); if (r < 0) { - if (errno == EINTR) + if (errno == EINTR) { + pollfd[POLLFD_ASYNCQ].revents = 0; + pollfd[POLLFD_FIFO].revents = 0; continue; + } pa_log("poll() failed: %s", pa_cstrerror(errno)); goto fail; |