--- jack/engine.h.orig	2008-02-09 18:05:19.000000000 +0400
+++ jack/engine.h	2008-02-09 18:20:59.000000000 +0400
@@ -173,12 +173,14 @@
 jack_client_internal_by_id (jack_engine_t *engine, jack_client_id_t id);
 
 static inline void jack_lock_graph (jack_engine_t* engine) {
+	engine->watchdog_check = 1;
 	DEBUG ("acquiring graph lock");
 	pthread_mutex_lock (&engine->client_lock);
 }
 
 static inline int jack_try_lock_graph (jack_engine_t *engine)
 {
+	engine->watchdog_check = 1;
 	DEBUG ("TRYING to acquiring graph lock");
 	return pthread_mutex_trylock (&engine->client_lock);
 }
--- jackd/engine.c.orig	2008-02-09 18:06:46.000000000 +0400
+++ jackd/engine.c	2008-02-09 18:29:35.000000000 +0400
@@ -1898,6 +1898,7 @@
 	   to exit.
 	*/
 
+	engine->watchdog_check = 1;
 	engine->freewheeling = 0;
 	VERBOSE (engine, "freewheeling stopped, waiting for thread\n");
 	pthread_join (engine->freewheel_thread, &ftstatus);
EOF
