diff --git a/libcontainer/sync.go b/libcontainer/sync.go index a8704a26..9399fe0d 100644 --- a/libcontainer/sync.go +++ b/libcontainer/sync.go @@ -52,20 +52,21 @@ func readSync(pipe io.Reader, expected syncType) error { if err == io.EOF { return fmt.Errorf("parent closed synchronisation channel") } + return fmt.Errorf("failed reading error from parent: %v", err) + } - if procSync.Type == procError { - var ierr genericError + if procSync.Type == procError { + var ierr genericError - if err := json.NewDecoder(pipe).Decode(&ierr); err != nil { - return fmt.Errorf("failed reading error from parent: %v", err) - } - - return &ierr + if err := json.NewDecoder(pipe).Decode(&ierr); err != nil { + return fmt.Errorf("failed reading error from parent: %v", err) } - if procSync.Type != expected { - return fmt.Errorf("invalid synchronisation flag from parent") - } + return &ierr + } + + if procSync.Type != expected { + return fmt.Errorf("invalid synchronisation flag from parent") } return nil }