Browse Source

fix some stuff....

tags/0.120.1
Torben Hohn 16 years ago
parent
commit
5a4e40db2c
3 changed files with 18 additions and 16 deletions
  1. +8
    -12
      jackd/engine.c
  2. +9
    -4
      libjack/client.c
  3. +1
    -0
      tools/session_notify.c

+ 8
- 12
jackd/engine.c View File

@@ -133,7 +133,7 @@ static void jack_check_acyclic (jack_engine_t* engine);
static void jack_compute_all_port_total_latencies (jack_engine_t *engine);
static void jack_compute_port_total_latency (jack_engine_t *engine, jack_port_shared_t*);
static void jack_engine_signal_problems (jack_engine_t* engine);
static int jack_session_notify (jack_engine_t *engine, jack_session_event_t type, const char *path );
static int jack_do_session_notify (jack_engine_t *engine, jack_session_event_t type, const char *path );

static inline int
jack_rolling_interval (jack_time_t period_usecs)
@@ -1342,7 +1342,7 @@ do_request (jack_engine_t *engine, jack_request_t *req, int *reply_fd)

case SessionNotify:
jack_lock_graph (engine);
jack_session_notify (engine, req->x.session.type, req->x.session.path);
jack_do_session_notify (engine, req->x.session.type, req->x.session.path);
jack_unlock_graph (engine);
req->status = 0;
break;
@@ -2431,7 +2431,7 @@ jack_deliver_event_to_all (jack_engine_t *engine, jack_event_t *event)
}

static int
jack_session_notify (jack_engine_t *engine, jack_session_event_t type, const char *path )
jack_do_session_notify (jack_engine_t *engine, jack_session_event_t type, const char *path )
{
JSList *node;
jack_event_t event;
@@ -2439,13 +2439,9 @@ jack_session_notify (jack_engine_t *engine, jack_session_event_t type, const cha
int retval = 0;
int reply;

event.type = SessionNotify;
if( path )
snprintf (event.x.name, sizeof (event.x.name), "%s", path );
else
event.x.name[0]='\0';

event.x.n = type;
event.type = SaveSession;
snprintf (event.x.name, sizeof (event.x.name), "%s", path );
event.y.n = type;
/* GRAPH MUST BE LOCKED : see callers of jack_send_connection_notification()
*/
@@ -2492,7 +2488,7 @@ static int
jack_deliver_event (jack_engine_t *engine, jack_client_internal_t *client,
jack_event_t *event)
{
char status=-1;
char status=0;

/* caller must hold the graph lock */

@@ -2577,7 +2573,7 @@ jack_deliver_event (jack_engine_t *engine, jack_client_internal_t *client,
}

if (client->error) {
status = 1;
status = -1;
} else {
// then we check whether there really is an error.... :)


+ 9
- 4
libjack/client.c View File

@@ -498,8 +498,9 @@ jack_client_handle_session_callback (jack_client_t *client, jack_event_t *event)
char prefix[32];
snprintf( prefix, sizeof(prefix), "%d", client->control->uid );


if (client->control->session_cbset) {
cb_ret = client->session_cb ( event->x.n, event->x.name, prefix,
cb_ret = client->session_cb ( event->y.n, event->x.name, prefix,
client->session_cb_arg);
if(cb_ret) {
retval = 1;
@@ -1303,8 +1304,12 @@ jack_session_notify (jack_client_t* client, jack_session_event_t code, const cha
{
jack_request_t request;

request.type = SaveSession;
snprintf( request.x.session.path, sizeof( request.x.session.path ), "%s", path );
request.type = SessionNotify;
if( path )
snprintf( request.x.session.path, sizeof( request.x.session.path ), "%s", path );
else
request.x.session.path[0] = '\0';

request.x.session.type = code;
return jack_client_deliver_request (client, &request);
}
@@ -1504,7 +1509,7 @@ jack_client_core_wait (jack_client_t* client)
{
jack_client_control_t *control = client->control;

DEBUG ("client polling on %s", client->pollmax == 2 ? x
DEBUG ("client polling on %s", client->pollmax == 2 ?
"event_fd and graph_wait_fd..." :
"event_fd only");


+ 1
- 0
tools/session_notify.c View File

@@ -66,6 +66,7 @@ void parse_arguments(int argc, char *argv[])
if( !strcmp( argv[1], "save" ) ) {
notify_type = JackSessionSave;
save_path = argv[2];
return;
}

}


Loading…
Cancel
Save