summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/modules/module-null-sink.c4
-rw-r--r--src/modules/module-pipe-sink.c5
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;