diff options
Diffstat (limited to 'src/libstore')
-rw-r--r-- | src/libstore/remote-store.cc | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/libstore/remote-store.cc b/src/libstore/remote-store.cc index 87547ce9125b..f724ac62f715 100644 --- a/src/libstore/remote-store.cc +++ b/src/libstore/remote-store.cc @@ -67,10 +67,14 @@ RemoteStore::RemoteStore() /* Send the magic greeting, check for the reply. */ - writeInt(WORKER_MAGIC_1, to); - - unsigned int magic = readInt(from); - if (magic != WORKER_MAGIC_2) throw Error("protocol mismatch"); + try { + writeInt(WORKER_MAGIC_1, to); + unsigned int magic = readInt(from); + if (magic != WORKER_MAGIC_2) throw Error("protocol mismatch"); + } catch (Error & e) { + throw Error(format("cannot start worker process `%1%' (%2%)") + % worker % e.msg()); + } } |