summaryrefslogtreecommitdiffstats
path: root/src/pulse/thread-mainloop.c
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-05 19:57:16 +0100
commitc5fdbeab85dfe69ebaec92969ec2ce77b105f1df (patch)
tree8807e49ebd39acf362daf70c071c7c8a0bffff3f /src/pulse/thread-mainloop.c
parenta63cf050b0be91310ae6b0b4fa3fa2b0f95e3efa (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
Diffstat (limited to 'src/pulse/thread-mainloop.c')
-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;
}