diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2013-11-27 16:07:16 -0500 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2013-11-27 16:07:16 -0500 |
commit | 91c57cb06cbf0bd88e267923be58df8def7854a7 (patch) | |
tree | 880667d5544b624fb716f94078a80c4d3bcfa46c /jackd | |
parent | 829c189d82f923cdb7cf1fa05d9e099bd14d0055 (diff) | |
download | jack1-91c57cb06cbf0bd88e267923be58df8def7854a7.tar.gz |
fix error in handling of -T (temporary server) caused by cast to wrong type when checking client list (also added extra debugging/VERBOSE statements)
Diffstat (limited to 'jackd')
-rw-r--r-- | jackd/clientengine.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/jackd/clientengine.c b/jackd/clientengine.c index 5e5e1ae..157de5d 100644 --- a/jackd/clientengine.c +++ b/jackd/clientengine.c @@ -217,16 +217,20 @@ jack_remove_client (jack_engine_t *engine, jack_client_internal_t *client) close (client->request_fd); } + VERBOSE (engine, "before: client list contains %d", jack_slist_length (engine->clients)); + for (node = engine->clients; node; node = jack_slist_next (node)) { if (jack_uuid_compare (((jack_client_internal_t *) node->data)->control->uuid, client->control->uuid) == 0) { engine->clients = jack_slist_remove_link (engine->clients, node); jack_slist_free_1 (node); + VERBOSE (engine, "removed from client list, via matching UUID"); break; } } - jack_client_delete (engine, client); + VERBOSE (engine, "after: client list contains %d", jack_slist_length (engine->clients)); + jack_client_delete (engine, client); if (engine->temporary) { int external_clients = 0; @@ -234,7 +238,7 @@ jack_remove_client (jack_engine_t *engine, jack_client_internal_t *client) /* count external clients only when deciding whether to shutdown */ for (node = engine->clients; node; node = jack_slist_next (node)) { - jack_client_t* client = (jack_client_t*) node->data; + jack_client_internal_t* client = (jack_client_internal_t*) node->data; if (client->control->type == ClientExternal) { external_clients++; } |