给map添加lock

This commit is contained in:
M09Ic 2022-12-01 11:49:40 +08:00
parent 5f6481b5bf
commit 288d3e12c2

View File

@ -217,6 +217,7 @@ type Pool struct {
base *pkg.Baseline base *pkg.Baseline
index *pkg.Baseline index *pkg.Baseline
baselines map[int]*pkg.Baseline baselines map[int]*pkg.Baseline
locker sync.Mutex
analyzeDone bool analyzeDone bool
genReq func(s string) (*ihttp.Request, error) genReq func(s string) (*ihttp.Request, error)
check func() check func()
@ -425,10 +426,9 @@ func (p *Pool) CompareWithExpr(exp *vm.Program, other *pkg.Baseline) bool {
func (p *Pool) addFuzzyBaseline(bl *pkg.Baseline) { func (p *Pool) addFuzzyBaseline(bl *pkg.Baseline) {
if _, ok := p.baselines[bl.Status]; !ok && IntsContains(FuzzyStatus, bl.Status) { if _, ok := p.baselines[bl.Status]; !ok && IntsContains(FuzzyStatus, bl.Status) {
bl.Collect() bl.Collect()
var lock sync.Mutex p.locker.Lock()
lock.Lock()
p.baselines[bl.Status] = bl p.baselines[bl.Status] = bl
lock.Unlock() p.locker.Unlock()
logs.Log.Importantf("[baseline.%dinit] %s", bl.Status, bl.String()) logs.Log.Importantf("[baseline.%dinit] %s", bl.Status, bl.String())
} }
} }