Ignore EvtReadNew if EvtReadFin is already set

This commit is contained in:
Junegunn Choi 2017-08-20 14:29:50 +09:00
parent 941b0a0ff7
commit 55ee4186aa
No known key found for this signature in database
GPG Key ID: 254BC280FEF9C627
2 changed files with 3 additions and 8 deletions

View File

@ -188,7 +188,6 @@ func Run(opts *Options, revision string) {
if opts.Sync {
eventBox.Unwatch(EvtReadNew)
eventBox.WaitFor(EvtReadFin)
eventBox.Unset(EvtReadNew)
}
// Go interactive
@ -210,6 +209,9 @@ func Run(opts *Options, revision string) {
delay := true
ticks++
eventBox.Wait(func(events *util.Events) {
if _, fin := (*events)[EvtReadFin]; fin {
delete(*events, EvtReadNew)
}
for evt, value := range *events {
switch evt {

View File

@ -45,13 +45,6 @@ func (b *EventBox) Set(event EventType, value interface{}) {
b.cond.L.Unlock()
}
// Unset turns off the event type on the box
func (b *EventBox) Unset(event EventType) {
b.cond.L.Lock()
delete(b.events, event)
b.cond.L.Unlock()
}
// Clear clears the events
// Unsynchronized; should be called within Wait routine
func (events *Events) Clear() {