From 2cf4a791ee3edbecd7204f6273f5c961a0d092aa Mon Sep 17 00:00:00 2001 From: pieterpalmers Date: Sun, 11 May 2008 23:15:48 +0000 Subject: [PATCH] fix failure handling on NT driver start git-svn-id: svn+ssh://jackaudio.org/trunk/jack@1178 0c269be4-1314-0410-8aa9-9f06e86f4224 --- drivers/firewire/ffado_driver.c | 2 +- libjack/driver.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/firewire/ffado_driver.c b/drivers/firewire/ffado_driver.c index 69efd02..da4db4e 100644 --- a/drivers/firewire/ffado_driver.c +++ b/drivers/firewire/ffado_driver.c @@ -632,7 +632,7 @@ ffado_driver_start (ffado_driver_t *driver) int retval=0; if((retval=ffado_streaming_start(driver->dev))) { - printError("Could not start streaming threads"); + printError("Could not start streaming threads: %d", retval); return retval; } diff --git a/libjack/driver.c b/libjack/driver.c index a17bf17..eac1fa8 100644 --- a/libjack/driver.c +++ b/libjack/driver.c @@ -153,11 +153,13 @@ jack_driver_nt_start (jack_driver_nt_t * driver) driver->engine->control->real_time, jack_driver_nt_thread, driver)) != 0) { jack_error ("DRIVER NT: could not start driver thread!"); - driver->nt_stop (driver); return err; } - + if ((err = driver->nt_start (driver)) != 0) { + /* make the thread run and exit immediately */ + driver->nt_run = DRIVER_NT_EXIT; + pthread_mutex_unlock (&driver->nt_run_lock); jack_error ("DRIVER NT: could not start driver"); return err; }