Are you certain your freeze is actually happening in
kernel space?
Tried using watchdog with "ping-pong" between highest and lowest
priority SCHED_FIFO threads? (BTW, we should have a watchdog anyway,
probably integrated with givertcap or something.)
JACK has its own watchdog thread. if engine->watchdog_check isn't
reset periodically, it will shut down the entire thing. or rather, it
will try to. the problem is that i'm not sure that its method of doing
so is particularly accurate, and moreover, the thing that is hogging
the CPU may be an out-of-process client, in which case shutting down
jackd doesn't help matters. this needs fixing. we should use:
kill (SIGKILL, current_client);
kill (SIGKILL, -1); // kill entire process group of JACK
--p