ipc: Improve init_all error handling.
Also fixes a bug where teardown would be called twice if the service was
already running, under debug builds this assert in mutex destroy.
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2468>
authored by