Hi, > > > schedule a bottom half calling qjack_client_fini() > > > > Does QEMU have such a mechanism for doing this? > > There could also be a possible race here if `jack_client_connect` is called > before the scheduled shutdown takes place.
You can cancel a scheduled bottom half, and checking ->state on connect should tell you whenever this is needed or not. I think you can even just cancel unconditionally (when not scheduled the cancel is a nop). HTH, Gerd