Browse Source

fix do_reserve client, deadlock...

tags/0.120.1
Torben Hohn 16 years ago
parent
commit
dcbd3db465
1 changed files with 8 additions and 3 deletions
  1. +8
    -3
      jackd/engine.c

+ 8
- 3
jackd/engine.c View File

@@ -2591,9 +2591,14 @@ static void jack_do_client_rename ( jack_engine_t *engine, jack_request_t *req)
static void jack_do_reserve_name ( jack_engine_t *engine, jack_request_t *req)
{
jack_reserved_name_t *reservation;
if (jack_client_by_name (engine, req->x.reservename.name)) {
req->status = -1;
return;
JSList *node;
// check is name is free...
for (node = engine->clients; node; node = jack_slist_next (node)) {
jack_client_internal_t* client = (jack_client_internal_t*) node->data;
if( !strcmp( (char *)client->control->name, req->x.clientrename.newname )) {
req->status = -1;
return;
}
}

reservation = malloc( sizeof( jack_reserved_name_t ) );


Loading…
Cancel
Save