From 03d9784bf682b05e3c4a46eb6cd32f4319e8636b Mon Sep 17 00:00:00 2001 From: Keuin Date: Sat, 29 Jul 2023 21:27:47 +0800 Subject: Make status field concurrent safe --- recording/runner.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'recording/runner.go') diff --git a/recording/runner.go b/recording/runner.go index ca4fe48..9671029 100644 --- a/recording/runner.go +++ b/recording/runner.go @@ -42,7 +42,7 @@ var errLiveEnded = errs.NewError(errs.LiveEnded) // During the process, its status may change. // Note: this method is blocking. func (t *RunningTask) runTaskWithAutoRestart() { - t.status = StWaiting + t.setStatus(StWaiting) loop: for { err := tryRunTask(t) @@ -56,7 +56,7 @@ loop: if !errors.Is(err, errLiveEnded) { t.logger.Error("Temporary error: %v", err) } - t.status = StRestarting + t.setStatus(StRestarting) default: t.logger.Error("Cannot recover from error: %v", err) break loop @@ -171,7 +171,7 @@ func tryRunTask(t *RunningTask) error { case nil: // live is started, start recording // (now the watcher should have stopped) - t.status = StRecording + t.setStatus(StRecording) return func() error { var err error run := true -- cgit v1.2.3