mirror of
https://github.com/datarhei/core.git
synced 2025-10-05 16:07:07 +08:00
Fix calling Wait after process has been read
This commit is contained in:
@@ -504,9 +504,6 @@ func (p *process) start() error {
|
||||
// Start the reader
|
||||
go p.reader()
|
||||
|
||||
// Wait for the process to finish
|
||||
go p.waiter()
|
||||
|
||||
// Start the stale timeout if enabled
|
||||
if p.stale.timeout != 0 {
|
||||
var ctx context.Context
|
||||
@@ -750,15 +747,18 @@ func (p *process) reader() {
|
||||
p.stale.lock.Unlock()
|
||||
}
|
||||
}
|
||||
|
||||
if err := scanner.Err(); err != nil {
|
||||
p.logger.Debug().WithError(err).Log("")
|
||||
}
|
||||
|
||||
// Wait for the process to finish
|
||||
p.waiter()
|
||||
}
|
||||
|
||||
// waiter waits for the process to finish. If enabled, the process will
|
||||
// be scheduled for a restart.
|
||||
func (p *process) waiter() {
|
||||
if p.getState() == stateFinishing {
|
||||
p.stop(false)
|
||||
}
|
||||
|
||||
if err := p.cmd.Wait(); err != nil {
|
||||
// The process exited abnormally, i.e. the return code is non-zero or a signal
|
||||
// has been raised.
|
||||
|
Reference in New Issue
Block a user