Previously, sink_input_kill_cb would cleanup u->sink an then unload the
module. However, during module unload, both save_state and dbus_done
tried to use u->sink, causing a segfault or assertion failure.
The segfault is easy to reproduce: Load module-equalizer-sink and then
press ctrl-C to terminate pulseaudio.
This commit removes the u->sink cleanup in sink_input_kill_cb, since
u->sink will be cleaned up by the module's pa__done as well (after it
has been used).
Signed-off-by: Matthijs Kooijman <matthijs@stdin.nl>
pa_sink_input_unref(u->sink_input);
u->sink_input = NULL;
- pa_sink_unref(u->sink);
- u->sink = NULL;
+ /* Leave u->sink alone for now, it will be cleaned up on module
+ * unload (and it is needed during unload as well). */
pa_module_unload_request(u->module, TRUE);
}