summaryrefslogtreecommitdiff
path: root/jackd
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2013-11-27 16:07:16 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2013-11-27 16:07:16 -0500
commit91c57cb06cbf0bd88e267923be58df8def7854a7 (patch)
tree880667d5544b624fb716f94078a80c4d3bcfa46c /jackd
parent829c189d82f923cdb7cf1fa05d9e099bd14d0055 (diff)
downloadjack1-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.c8
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++;
}