Skip to content

Commit 7fd1b4e

Browse files
committed
fix RPC recover handlers re-panicking when panic value is not an error
1 parent 6e0d688 commit 7fd1b4e

1 file changed

Lines changed: 7 additions & 7 deletions

File tree

rpc.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ type rpcMessage struct {
2626
func (r *Goreman) Start(args []string, ret *string) (err error) {
2727
defer func() {
2828
if r := recover(); r != nil {
29-
err = r.(error)
29+
err = fmt.Errorf("%v", r)
3030
}
3131
}()
3232
for _, arg := range args {
@@ -41,7 +41,7 @@ func (r *Goreman) Start(args []string, ret *string) (err error) {
4141
func (r *Goreman) Stop(args []string, ret *string) (err error) {
4242
defer func() {
4343
if r := recover(); r != nil {
44-
err = r.(error)
44+
err = fmt.Errorf("%v", r)
4545
}
4646
}()
4747
errChan := make(chan error, 1)
@@ -58,7 +58,7 @@ func (r *Goreman) Stop(args []string, ret *string) (err error) {
5858
func (r *Goreman) StopAll(args []string, ret *string) (err error) {
5959
defer func() {
6060
if r := recover(); r != nil {
61-
err = r.(error)
61+
err = fmt.Errorf("%v", r)
6262
}
6363
}()
6464
for _, proc := range procs {
@@ -73,7 +73,7 @@ func (r *Goreman) StopAll(args []string, ret *string) (err error) {
7373
func (r *Goreman) Restart(args []string, ret *string) (err error) {
7474
defer func() {
7575
if r := recover(); r != nil {
76-
err = r.(error)
76+
err = fmt.Errorf("%v", r)
7777
}
7878
}()
7979
for _, arg := range args {
@@ -88,7 +88,7 @@ func (r *Goreman) Restart(args []string, ret *string) (err error) {
8888
func (r *Goreman) RestartAll(args []string, ret *string) (err error) {
8989
defer func() {
9090
if r := recover(); r != nil {
91-
err = r.(error)
91+
err = fmt.Errorf("%v", r)
9292
}
9393
}()
9494
for _, proc := range procs {
@@ -103,7 +103,7 @@ func (r *Goreman) RestartAll(args []string, ret *string) (err error) {
103103
func (r *Goreman) List(args []string, ret *string) (err error) {
104104
defer func() {
105105
if r := recover(); r != nil {
106-
err = r.(error)
106+
err = fmt.Errorf("%v", r)
107107
}
108108
}()
109109
*ret = ""
@@ -117,7 +117,7 @@ func (r *Goreman) List(args []string, ret *string) (err error) {
117117
func (r *Goreman) Status(args []string, ret *string) (err error) {
118118
defer func() {
119119
if r := recover(); r != nil {
120-
err = r.(error)
120+
err = fmt.Errorf("%v", r)
121121
}
122122
}()
123123
*ret = ""

0 commit comments

Comments
 (0)