summaryrefslogtreecommitdiff
path: root/jackd/clientengine.c
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2013-10-06 22:21:10 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2013-10-06 22:21:10 -0400
commitefe4ddca32f9b184584850b06289765090cb9e54 (patch)
tree8af330d2108dbe93a1907b51af5ae8c5674dd0a6 /jackd/clientengine.c
parent1c7e871371b439359a3bfb3ab3c054e77b862c71 (diff)
downloadjack1-efe4ddca32f9b184584850b06289765090cb9e54.tar.gz
do not attempt to unload anything except an internal client
Diffstat (limited to 'jackd/clientengine.c')
-rw-r--r--jackd/clientengine.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/jackd/clientengine.c b/jackd/clientengine.c
index bfd74c9..00eea7c 100644
--- a/jackd/clientengine.c
+++ b/jackd/clientengine.c
@@ -815,8 +815,12 @@ handle_unload_client (jack_engine_t *engine, jack_uuid_t id)
if ((client = jack_client_internal_by_id (engine, id))) {
VERBOSE (engine, "unloading client \"%s\"",
client->control->name);
- jack_remove_client (engine, client);
- status = 0;
+ if (client->control->type != ClientInternal) {
+ status = JackFailure|JackInvalidOption;
+ } else {
+ jack_remove_client (engine, client);
+ status = 0;
+ }
}
jack_unlock_graph (engine);