1
0
mirror of https://github.com/astaxie/beego.git synced 2024-11-04 21:30:55 +00:00

Merge pull request #4061 from flycash/race-condition

Fix 4059
This commit is contained in:
Ming Deng 2020-07-08 23:49:54 +08:00 committed by GitHub
commit 926b80d1d8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -425,7 +425,6 @@ func GetDB(aliasNames ...string) (*sql.DB, error) {
type stmtDecorator struct { type stmtDecorator struct {
wg sync.WaitGroup wg sync.WaitGroup
lastUse int64
stmt *sql.Stmt stmt *sql.Stmt
} }
@ -433,9 +432,12 @@ func (s *stmtDecorator) getStmt() *sql.Stmt {
return s.stmt return s.stmt
} }
// acquire will add one
// since this method will be used inside read lock scope,
// so we can not do more things here
// we should think about refactor this
func (s *stmtDecorator) acquire() { func (s *stmtDecorator) acquire() {
s.wg.Add(1) s.wg.Add(1)
s.lastUse = time.Now().Unix()
} }
func (s *stmtDecorator) release() { func (s *stmtDecorator) release() {
@ -453,7 +455,6 @@ func (s *stmtDecorator) destroy() {
func newStmtDecorator(sqlStmt *sql.Stmt) *stmtDecorator { func newStmtDecorator(sqlStmt *sql.Stmt) *stmtDecorator {
return &stmtDecorator{ return &stmtDecorator{
stmt: sqlStmt, stmt: sqlStmt,
lastUse: time.Now().Unix(),
} }
} }