File tree 1 file changed +10
-6
lines changed
1 file changed +10
-6
lines changed Original file line number Diff line number Diff line change @@ -95,7 +95,8 @@ func Run(cfg *Config) error { // nolint: gocyclo
95
95
return fmt .Errorf ("watcher error: %v" , err )
96
96
}
97
97
98
- var changeRestart bool
98
+ // flag to know if an exit was caused by a restart from a file changing
99
+ changeRestart := false
99
100
100
101
go watcher .Watch ()
101
102
for {
@@ -109,13 +110,16 @@ func Run(cfg *Config) error { // nolint: gocyclo
109
110
case err := <- watcher .Errors :
110
111
return fmt .Errorf ("error on watching files: %v" , err )
111
112
case err := <- runner .Errors ():
113
+ logger .Debug ("Detected program exit: " , err )
114
+
115
+ // ignore exit by change
112
116
if changeRestart {
113
117
changeRestart = false
114
- } else {
115
- logger . Debug ( "Detected program exit: " , err )
116
- if err = handleProgramExit ( builder , runner , err , cfg . NoRestartOn ); err != nil {
117
- return err
118
- }
118
+ continue
119
+ }
120
+
121
+ if err = handleProgramExit ( builder , runner , err , cfg . NoRestartOn ); err != nil {
122
+ return err
119
123
}
120
124
default :
121
125
time .Sleep (time .Duration (cfg .PollInterval ) * time .Millisecond )
You can’t perform that action at this time.
0 commit comments