From 82973dd11adc4648d30bbe36b8f272fe77a6031f Mon Sep 17 00:00:00 2001 From: kercylan98 Date: Sat, 9 Sep 2023 17:22:21 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20super.RegError=20?= =?UTF-8?q?=E5=92=8C=20RegErrorRef=20=E7=A9=BA=E6=8C=87=E9=92=88=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- utils/super/error.go | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/utils/super/error.go b/utils/super/error.go index 4cfb1d7..6fdaaa6 100644 --- a/utils/super/error.go +++ b/utils/super/error.go @@ -6,14 +6,15 @@ import ( ) var errorManagerInstance *errorManager +var errorManagerMutex sync.Mutex // RegError 通过错误码注册错误,返回错误的引用 func RegError(code int, message string) error { if code == 0 { return errors.New("error code can not be 0") } - errorManagerInstance.mutex.Lock() - defer errorManagerInstance.mutex.Unlock() + errorManagerMutex.Lock() + defer errorManagerMutex.Unlock() if errorManagerInstance == nil { errorManagerInstance = new(errorManager).init() } @@ -28,8 +29,8 @@ func RegErrorRef(code int, message string, ref error) error { if code == 0 { return errors.New("error code can not be 0") } - errorManagerInstance.mutex.Lock() - defer errorManagerInstance.mutex.Unlock() + errorManagerMutex.Lock() + defer errorManagerMutex.Unlock() if errorManagerInstance == nil { errorManagerInstance = new(errorManager).init() } @@ -45,8 +46,8 @@ func GetError(err error) (int, error) { if unw == nil { unw = err } - errorManagerInstance.mutex.Lock() - defer errorManagerInstance.mutex.Unlock() + errorManagerMutex.Lock() + defer errorManagerMutex.Unlock() if ref, exist := errorManagerInstance.errorMapperRef[unw]; exist { //err = fmt.Errorf("%w : %s", ref, err.Error()) err = ref