From 98cd055dddac70c784ccdddd81ec0211c6a31c4c Mon Sep 17 00:00:00 2001 From: boyce Date: Fri, 9 Apr 2021 15:42:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=AE=9A=E6=97=B6=E5=99=A8?= =?UTF-8?q?=E5=BC=82=E5=B8=B8recover?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- util/timer/timer.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/util/timer/timer.go b/util/timer/timer.go index 12968fa..4ed080f 100644 --- a/util/timer/timer.go +++ b/util/timer/timer.go @@ -2,10 +2,10 @@ package timer import ( "fmt" + "github.com/duanhf2012/origin/log" "github.com/duanhf2012/origin/util/sync" "reflect" "runtime" - "time" ) @@ -90,6 +90,14 @@ type Dispatcher struct { func (t *Timer) Do(){ if t.cb != nil { + defer func() { + if r := recover(); r != nil { + buf := make([]byte, 4096) + l := runtime.Stack(buf, false) + err := fmt.Errorf("%v: %s", r, buf[:l]) + log.Error("core dump info:%+v\n", err) + } + }() t.cb() } }