Fix race condition when starting several command tasks in quick succession (#4518)

- **PR Description**

Fixes #4507, see there for an elaborate description of the problem.
This commit is contained in:
Stefan Haller 2025-04-27 10:53:34 +02:00 committed by GitHub
commit 8bbfd4b9b9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -373,8 +373,6 @@ func (self *ViewBufferManager) NewTask(f func(TaskOpts) error, key string) error
go utils.Safe(func() {
defer completeGocuiTask()
self.readLines = nil
self.taskIDMutex.Lock()
self.newTaskID++
taskID := self.newTaskID
@ -400,6 +398,8 @@ func (self *ViewBufferManager) NewTask(f func(TaskOpts) error, key string) error
self.stopCurrentTask()
}
self.readLines = nil
stop := make(chan struct{})
notifyStopped := make(chan struct{})