If the dispatcher thread fails and has to shutdown (eg because the stream from the server is corrupt) then first it sets 'dispatcher_shutting_down' to prevent other clients waiting on it; and then it wakes up all waiting clients with the same failure that it has received, so that (a) the error is noticed properly; and (b) no-one blocks forever
If the dispatcher thread fails and has to shutdown (eg because the stream from the server is corrupt) then first it sets 'dispatcher_shutting_down' to prevent other clients waiting on it; and then it wakes up all waiting clients with the same failure that it has received, so that (a) the error is noticed properly; and (b) no-one blocks forever

mirage/ocaml-xenstore-server,mirage/ocaml-xenstore-server,djs55/ocaml-xenstore-server