Fix startup 'wait for client' check that assumed the client would be non-blocking. It's possible for a frontend to connect to the backend, then go idle before we re-checked for it's presence, which would have prevented the backend shutting down. If _any_ client is connected, then release the block on shutdown.