Reduce data races (#14549)

* Add race conditions into test

* Fix Race in GetManager()

* DataAsync() use error chan

* just log no chan

* finish
This commit is contained in:
6543 2021-02-03 22:36:38 +01:00 committed by GitHub
parent 0d1444751f
commit 87009ab40a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 18 additions and 6 deletions

View file

@ -25,6 +25,7 @@ var (
// ErrExecTimeout represent a timeout error
ErrExecTimeout = errors.New("Process execution timeout")
manager *Manager
managerInit sync.Once
// DefaultContext is the default context to run processing commands in
DefaultContext = context.Background()
@ -48,11 +49,11 @@ type Manager struct {
// GetManager returns a Manager and initializes one as singleton if there's none yet
func GetManager() *Manager {
if manager == nil {
managerInit.Do(func() {
manager = &Manager{
processes: make(map[int64]*Process),
}
}
})
return manager
}