summaryrefslogtreecommitdiff
path: root/pipe_factory.go
diff options
context:
space:
mode:
authorWolfy-J <[email protected]>2019-12-23 14:43:47 +0300
committerWolfy-J <[email protected]>2019-12-23 14:43:47 +0300
commitc7b0a4a81827284f7565c56aa476eea34fb6382f (patch)
treeee30e93169c37fb058fbe55af6b3f954eabd9646 /pipe_factory.go
parent7f694966730f6dac09d0d0ea3bf51276b8e4dfe4 (diff)
- test fixes
Diffstat (limited to 'pipe_factory.go')
-rw-r--r--pipe_factory.go14
1 files changed, 12 insertions, 2 deletions
diff --git a/pipe_factory.go b/pipe_factory.go
index d6fe0420..d8243d28 100644
--- a/pipe_factory.go
+++ b/pipe_factory.go
@@ -1,6 +1,7 @@
package roadrunner
import (
+ "fmt"
"github.com/pkg/errors"
"github.com/spiral/goridge"
"io"
@@ -45,11 +46,20 @@ 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)
+ go func(w *Worker) {
+ err := w.Kill()
+ if err != nil {
+ // there is no logger here, how to handle error in goroutines ?
+ fmt.Println(fmt.Sprintf("error killing the worker with PID number %d, Created: %s", w.Pid, w.Created))
+ }
+ }(w)
if wErr := w.Wait(); wErr != nil {
if _, ok := wErr.(*exec.ExitError); ok {
- err = errors.Wrap(wErr, err.Error())
+ // error might be nil here
+ if err != nil {
+ err = errors.Wrap(wErr, err.Error())
+ }
} else {
err = wErr
}