summaryrefslogtreecommitdiff
path: root/jackd
diff options
context:
space:
mode:
authortorben <torben@0c269be4-1314-0410-8aa9-9f06e86f4224>2011-05-29 00:47:52 +0000
committertorben <torben@0c269be4-1314-0410-8aa9-9f06e86f4224>2011-05-29 00:47:52 +0000
commit070903509d56b3d7685490f59d929f867718d239 (patch)
tree991c542ad07b80f609a17fd3ec4fa4e37d280ea8 /jackd
parent94af2e979669535f227ae2a913eaf473f416f4a2 (diff)
downloadjack1-070903509d56b3d7685490f59d929f867718d239.tar.gz
[core] fix error path for driver removal.
git-svn-id: svn+ssh://jackaudio.org/trunk/jack@4447 0c269be4-1314-0410-8aa9-9f06e86f4224
Diffstat (limited to 'jackd')
-rw-r--r--jackd/controlapi.c3
-rw-r--r--jackd/engine.c5
2 files changed, 4 insertions, 4 deletions
diff --git a/jackd/controlapi.c b/jackd/controlapi.c
index c380dff..a439a91 100644
--- a/jackd/controlapi.c
+++ b/jackd/controlapi.c
@@ -1522,7 +1522,8 @@ bool jackctl_server_switch_master(jackctl_server_t * server_ptr, jackctl_driver_
if (server_ptr->engine->driver->start (server_ptr->engine->driver) != 0) {
jack_error ("cannot start driver");
- goto fail_nostart;
+ jack_use_driver(server_ptr->engine, NULL);
+ goto fail_nodriver;
}
return true;
diff --git a/jackd/engine.c b/jackd/engine.c
index 2609846..5ce0c66 100644
--- a/jackd/engine.c
+++ b/jackd/engine.c
@@ -115,7 +115,6 @@ static void jack_notify_all_port_interested_clients (jack_engine_t *engine,
jack_port_id_t b,
int connect);
static void jack_engine_post_process (jack_engine_t *);
-static int jack_use_driver (jack_engine_t *engine, jack_driver_t *driver);
static int jack_run_cycle (jack_engine_t *engine, jack_nframes_t nframes,
float delayed_usecs);
static int jack_run_one_cycle (jack_engine_t *engine, jack_nframes_t nframes,
@@ -1131,7 +1130,7 @@ jack_engine_load_driver (jack_engine_t *engine,
free (info);
if (jack_use_driver (engine, driver) < 0) {
- jack_client_delete (engine, client);
+ jack_remove_client (engine, client);
return -1;
}
@@ -4172,7 +4171,7 @@ jack_clear_fifos (jack_engine_t *engine)
}
}
-static int
+int
jack_use_driver (jack_engine_t *engine, jack_driver_t *driver)
{
if (engine->driver) {