diff --git a/pulse-listener.c b/pulse-listener.c index c1d6a17..61c9d55 100644 --- a/pulse-listener.c +++ b/pulse-listener.c @@ -72,6 +72,7 @@ static void cleanup(void *data_to_free[2]) { } void pulse_listener_main(pthread_t *main_thread) { + pthread_setcanceltype(PTHREAD_CANCEL_DISABLE, NULL); pa_mainloop *mainloop = pa_mainloop_new(); if (!mainloop) { ERROR("could not create pulse mainloop\n"); @@ -91,11 +92,12 @@ void pulse_listener_main(pthread_t *main_thread) { (pa_context_notify_cb_t)&state_callback, main_thread); if (pa_context_connect(context, NULL, PA_CONTEXT_NOAUTOSPAWN, NULL) < 0) { - ERROR("could not connect to pulse"); + ERROR("could not connect to pulse\n"); return; } void *data_to_free[2] = { mainloop, context }; pthread_cleanup_push((void(*)(void *)) cleanup, data_to_free); + pthread_setcanceltype(PTHREAD_CANCEL_ENABLE, NULL); pa_mainloop_run(mainloop, NULL); pthread_cleanup_pop(1); }