From 51383054381609c3a17026fd61fd2fd58d8ad892 Mon Sep 17 00:00:00 2001 From: Sokolov Yura aka funny_falcon Date: Mon, 21 Oct 2013 19:59:26 +0400 Subject: [PATCH] parallel_service: recover --- parallel_service.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/parallel_service.go b/parallel_service.go index 53172dc..6267c6a 100644 --- a/parallel_service.go +++ b/parallel_service.go @@ -2,6 +2,7 @@ package iproto import ( "log" + "runtime" "sync" "time" ) @@ -101,6 +102,12 @@ Loop: } func (serv *ParallelService) inc(ctx *ReqContext) { + if err := recover(); err != nil { + log.Print(err) + btrace := &[2048]byte{} + n := runtime.Stack(btrace[:], false) + log.Printf("%s", btrace[:n]) + } ctx.Done() ctx.gen.Release() serv.sema <- struct{}{}