summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel T Chen <crimsun@ubuntu.com>2010-01-04 21:44:37 -0500
committerLennart Poettering <lennart@poettering.net>2010-01-15 01:33:46 +0100
commita2418effe7c4bc54390939ccd07dd6227e6cdfa5 (patch)
treeb04c03932eb3fd3e59be8d010e5ef32a11a676a3
parent66e1a2d05139d7968d41d9f1a88c22093cdd04d5 (diff)
threaded-mainloop: Properly initialise m->n_waiting_for_accept to prevent deadlock
Compiler optimisations have been seen to initialise m->n_waiting_for_accept to a positive non-zero value, so the while() in pa_threaded_mainloop_signal() never proceeds. Fix this by properly initializing m->n_waiting_for_accept in pa_threaded_mainloop_new(). Patch from Iain Bucław. https://bugs.launchpad.net/bugs/502992
-rw-r--r--src/pulse/thread-mainloop.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/pulse/thread-mainloop.c b/src/pulse/thread-mainloop.c
index 14ed9264..16934044 100644
--- a/src/pulse/thread-mainloop.c
+++ b/src/pulse/thread-mainloop.c
@@ -116,6 +116,7 @@ pa_threaded_mainloop *pa_threaded_mainloop_new(void) {
pa_mainloop_set_poll_func(m->real_mainloop, poll_func, m->mutex);
m->n_waiting = 0;
+ m->n_waiting_for_accept = 0;
return m;
}