Browse Source

make sure uuid is set at save.

tags/0.120.1
Torben Hohn 16 years ago
parent
commit
ec450d3ec7
2 changed files with 16 additions and 0 deletions
  1. +14
    -0
      jackd/engine.c
  2. +2
    -0
      libjack/client.c

+ 14
- 0
jackd/engine.c View File

@@ -2435,6 +2435,18 @@ jack_deliver_event_to_all (jack_engine_t *engine, jack_event_t *event)
jack_unlock_graph (engine);
}

static jack_client_id_t jack_engine_get_max_uuid( jack_engine_t *engine )
{
JSList *node;
jack_client_id_t retval = 0;
for (node = engine->clients; node; node = jack_slist_next (node)) {
jack_client_internal_t* client = (jack_client_internal_t*) node->data;
if( client->control->uid > retval )
retval = client->control->uid;
}
return retval;
}

static int
jack_do_session_notify (jack_engine_t *engine, jack_request_t *req, int reply_fd )
{
@@ -2456,6 +2468,8 @@ jack_do_session_notify (jack_engine_t *engine, jack_request_t *req, int reply_fd
jack_client_internal_t* client = (jack_client_internal_t*) node->data;
if (client->control->session_cbset) {
if( client->control->uid == 0 )
client->control->uid=jack_engine_get_max_uuid( engine ) + 1;
reply = jack_deliver_event (engine, client, &event);

if (write (reply_fd, &client->control->uid, sizeof (client->control->uid))


+ 2
- 0
libjack/client.c View File

@@ -1116,6 +1116,8 @@ jack_client_open_aux (const char *client_name,

if( va.sess_uuid )
client->control->uid = atoi( va.sess_uuid );
else
client->control->uid = 0U;

if ((ev_fd = server_event_connect (client, va.server_name)) < 0) {
goto fail;


Loading…
Cancel
Save