check the stop channel while waiting on inotify
fixes http://bugs.activestate.com/show_bug.cgi?id=95718#c3
This commit is contained in:
parent
3ff602e781
commit
5c84486ca3
13
tail.go
13
tail.go
|
@ -146,10 +146,8 @@ func (tail *Tail) tailFileSync(end bool, retry bool) {
|
|||
changes = tail.watcher.ChangeEvents()
|
||||
}
|
||||
|
||||
//log.Println("WAITING ", tail.Filename)
|
||||
_, ok := <-changes
|
||||
//log.Println("RECEIVED ", tail.Filename)
|
||||
|
||||
select {
|
||||
case _, ok := <-changes:
|
||||
if !ok {
|
||||
// file got deleted/renamed
|
||||
if retry {
|
||||
|
@ -165,11 +163,16 @@ func (tail *Tail) tailFileSync(end bool, retry bool) {
|
|||
return
|
||||
}
|
||||
}
|
||||
case <-tail.stop:
|
||||
// stop the tailer if requested.
|
||||
// FIXME: respect DRY (see below)
|
||||
return
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// stop the tailer if requested.
|
||||
// FIXME: won't happen promptly; http://bugs.activestate.com/show_bug.cgi?id=95718#c3
|
||||
select {
|
||||
case <-tail.stop:
|
||||
return
|
||||
|
|
Loading…
Reference in New Issue