From 3ee3b0f49b3252785330a26d5dd624d8ae43e09c Mon Sep 17 00:00:00 2001 From: Tanu Kaskinen Date: Mon, 2 Apr 2012 15:01:06 +0300 Subject: [PATCH] mainloop: Check pa_write() return value. --- src/pulse/mainloop.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/pulse/mainloop.c b/src/pulse/mainloop.c index f13c0f8e6..a3d7715d5 100644 --- a/src/pulse/mainloop.c +++ b/src/pulse/mainloop.c @@ -770,7 +770,10 @@ void pa_mainloop_wakeup(pa_mainloop *m) { char c = 'W'; pa_assert(m); - pa_write(m->wakeup_pipe[1], &c, sizeof(c), &m->wakeup_pipe_type); + if (pa_write(m->wakeup_pipe[1], &c, sizeof(c), &m->wakeup_pipe_type) < 0) + /* Not much options for recovering from the error. Let's at least log something. */ + pa_log("pa_write() failed while trying to wake up the mainloop: %s", pa_cstrerror(errno)); + pa_atomic_store(&m->wakeup_requested, TRUE); }