From de51b247f72faebf7aa343ca3ffbb98f34a103ac Mon Sep 17 00:00:00 2001 From: saga92 Date: Tue, 24 May 2016 09:41:34 +0800 Subject: [PATCH] make singleton thread safe --- dao/base.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/dao/base.go b/dao/base.go index e0476a7..5a74252 100644 --- a/dao/base.go +++ b/dao/base.go @@ -22,6 +22,7 @@ import ( "os" "strings" + "sync" "time" "github.com/astaxie/beego/orm" @@ -99,11 +100,12 @@ func InitDB() { } var globalOrm orm.Ormer +var once sync.Once // GetOrmer :set ormer singleton func GetOrmer() orm.Ormer { - if globalOrm == nil { + once.Do(func() { globalOrm = orm.NewOrm() - } + }) return globalOrm }