diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2018-06-18 19:50:50 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2018-06-18 19:50:50 +0200 |
| commit | 45c54f755c6dee216beaeeef11e98a0375102712 (patch) | |
| tree | de5010e482c67c179a1237168f88a62d4ece4779 | |
| parent | ee54fec6dae601bf9a349f2dbc40c1012f4491a1 (diff) | |
syz-manager: fix race during reporter init
| -rw-r--r-- | syz-manager/manager.go | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/syz-manager/manager.go b/syz-manager/manager.go index 16affa1f5..1f73c531d 100644 --- a/syz-manager/manager.go +++ b/syz-manager/manager.go @@ -45,6 +45,7 @@ type Manager struct { cfg *mgrconfig.Config vmPool *vm.Pool target *prog.Target + reporterInit sync.Once reporter report.Reporter crashdir string port int @@ -824,7 +825,7 @@ func (mgr *Manager) saveRepro(res *repro.Result, hub bool) { } func (mgr *Manager) getReporter() report.Reporter { - if mgr.reporter == nil { + mgr.reporterInit.Do(func() { <-allSymbolsReady var err error // TODO(dvyukov): we should introduce cfg.Kernel_Obj dir instead of Vmlinux. @@ -839,7 +840,7 @@ func (mgr *Manager) getReporter() report.Reporter { if err != nil { log.Fatalf("%v", err) } - } + }) return mgr.reporter } |
