Jack thread only connects with the actual client code through the process() callback.
You need at least connect a shutdown callback
void
jack_shutdown (void *arg)
{
// clean up your client
exit (1);
}
I do have shutdown callback. Instead of exit(1), I schedule a timer event and connect again.
The major problem is why does the process get zombified in the first place.
Yuri