pulse-server: client: cancel related work queue jobs

This commit is contained in:
Barnabás Pőcze 2022-01-31 17:30:40 +01:00 committed by Wim Taymans
parent 78aaa0a3dd
commit 6d0075b4e9
2 changed files with 5 additions and 3 deletions

View file

@ -174,6 +174,8 @@ void client_free(struct client *client)
pw_map_clear(&client->streams); pw_map_clear(&client->streams);
pw_work_queue_cancel(impl->work_queue, client, SPA_ID_INVALID);
free(client->default_sink); free(client->default_sink);
free(client->default_source); free(client->default_source);

View file

@ -857,7 +857,7 @@ static void manager_metadata(void *data, struct pw_manager_object *o,
static void do_free_client(void *obj, void *data, int res, uint32_t id) static void do_free_client(void *obj, void *data, int res, uint32_t id)
{ {
struct client *client = data; struct client *client = obj;
client_free(client); client_free(client);
} }
@ -865,8 +865,8 @@ static void manager_disconnect(void *data)
{ {
struct client *client = data; struct client *client = data;
pw_log_debug("manager_disconnect()"); pw_log_debug("manager_disconnect()");
pw_work_queue_add(client->impl->work_queue, NULL, 0, pw_work_queue_add(client->impl->work_queue, client, 0,
do_free_client, client); do_free_client, NULL);
} }
static const struct pw_manager_events manager_events = { static const struct pw_manager_events manager_events = {