From 25686e5bcee030a1e17f797f75258f26594bab39 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Tue, 23 Aug 2011 22:44:43 +0200 Subject: pulse/output: fix deadlock when resuming the stream Unlock the mainloop in all code paths. --- src/output/pulse_output_plugin.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/output/pulse_output_plugin.c b/src/output/pulse_output_plugin.c index d29fbd705..2635ed149 100644 --- a/src/output/pulse_output_plugin.c +++ b/src/output/pulse_output_plugin.c @@ -683,8 +683,10 @@ pulse_output_play(void *data, const void *chunk, size_t size, GError **error_r) /* unpause if previously paused */ if (pulse_output_stream_is_paused(po) && - !pulse_output_stream_pause(po, false, error_r)) + !pulse_output_stream_pause(po, false, error_r)) { + pa_threaded_mainloop_unlock(po->mainloop); return 0; + } /* wait until the server allows us to write */ -- cgit v1.2.3