Fix possible resource leak
This commit is contained in:
parent
bb55ac56dd
commit
cf2d0ed30e
@ -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);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user