summaryrefslogtreecommitdiff
path: root/pipe_factory.go
diff options
context:
space:
mode:
authorWolfy-J <[email protected]>2018-06-03 21:49:57 +0300
committerWolfy-J <[email protected]>2018-06-03 21:49:57 +0300
commited2719f7d4fc4ccde61e3a5c104a49b7e9e9ea5f (patch)
treea2a005a037cd1b1a959fc6a2323b4908d341a087 /pipe_factory.go
parent7877e54547d1f8ca3b3431c6e9aa3cbd80af1403 (diff)
error handling
Diffstat (limited to 'pipe_factory.go')
-rw-r--r--pipe_factory.go7
1 files changed, 6 insertions, 1 deletions
diff --git a/pipe_factory.go b/pipe_factory.go
index 3b2f2f88..1ebcc69d 100644
--- a/pipe_factory.go
+++ b/pipe_factory.go
@@ -46,8 +46,13 @@ func (f *PipeFactory) SpawnWorker(cmd *exec.Cmd) (w *Worker, err error) {
if pid, err := fetchPID(w.rl); pid != *w.Pid {
go func(w *Worker) { w.Kill() }(w)
+
if wErr := w.Wait(); wErr != nil {
- err = errors.Wrap(wErr, err.Error())
+ if _, ok := wErr.(*exec.ExitError); ok {
+ err = errors.Wrap(wErr, err.Error())
+ } else {
+ err = wErr
+ }
}
return nil, errors.Wrap(err, "unable to connect to worker")