优化rpc异常时panic无法recover

This commit is contained in:
boyce
2021-04-09 15:10:29 +08:00
parent 07295260cb
commit 797370e146

View File

@@ -232,6 +232,10 @@ func (handler *RpcHandler) HandlerRpcResponseCB(call *Call){
} }
func (handler *RpcHandler) HandlerRpcRequest(request *RpcRequest) { func (handler *RpcHandler) HandlerRpcRequest(request *RpcRequest) {
if request.requestHandle == nil {
defer ReleaseRpcRequest(request)
}
defer func() { defer func() {
if r := recover(); r != nil { if r := recover(); r != nil {
buf := make([]byte, 4096) buf := make([]byte, 4096)
@@ -245,9 +249,7 @@ func (handler *RpcHandler) HandlerRpcRequest(request *RpcRequest) {
} }
}() }()
if request.requestHandle == nil {
defer ReleaseRpcRequest(request)
}
//如果是原始RPC请求 //如果是原始RPC请求
rawRpcId := request.RpcRequestData.GetRpcMethodId() rawRpcId := request.RpcRequestData.GetRpcMethodId()