good morning!!!!

Skip to content
Snippets Groups Projects
Commit f0b49f2c authored by a's avatar a
Browse files

latest batch of fixes

parent 7806d775
Branches
Tags v0.0.33
No related merge requests found
......@@ -506,12 +506,10 @@ func (c *Client) dispatch(codec ServerCodec) {
// Spawn the initial read loop.
go c.read(codec)
for {
select {
case <-c.close:
return
// Read path:
case op := <-c.readOp:
if op.batch {
......
......@@ -19,6 +19,7 @@ package jrpc
import (
"context"
"reflect"
"runtime"
"unicode"
)
......@@ -94,17 +95,17 @@ func (e *callback) ServeRPC(w ResponseWriter, r *Request) {
}
fullargs = append(fullargs, args...)
//Catch panic while running the callback.
//defer func() {
// if err := recover(); err != nil {
// const size = 64 << 10
// buf := make([]byte, size)
// buf = buf[:runtime.Stack(buf, false)]
defer func() {
if err := recover(); err != nil {
const size = 64 << 10
buf := make([]byte, size)
buf = buf[:runtime.Stack(buf, false)]
//log.Error().Str("method", r.msg.Method).Interface("err", err).Hex("buf", buf).Msg("crashed")
// // errRes := errors.New("method handler crashed: " + fmt.Sprint(err))
// w.Send(nil, nil)
// return
// }
//}()
// errRes := errors.New("method handler crashed: " + fmt.Sprint(err))
w.Send(nil, nil)
return
}
}()
// Run the callback.
results := e.fn.Call(fullargs)
if e.errPos >= 0 && !results[e.errPos].IsNil() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment