- } else if (s == DISK_WRITER_ERROR) {
- string const m = _nanomsg.blocking_get ();
- string const n = _nanomsg.blocking_get ();
- throw CopyError (m, raw_convert<int>(n));
- } else if (s == DISK_WRITER_FORMATTING) {
+ } else if (*s == DISK_WRITER_ERROR) {
+ optional<string> const m = _nanomsg.receive (500);
+ optional<string> const n = _nanomsg.receive (500);
+ throw CopyError (m.get_value_or("Unknown"), raw_convert<int>(n.get_value_or("0")));
+ } else if (*s == DISK_WRITER_FORMATTING) {