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.
(cherry picked from commit 7e0fa3f28320ca658ef2e1945e3f1919bb6e2022)