diff options
Diffstat (limited to 'internal/eventloop.go')
| -rw-r--r-- | internal/eventloop.go | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/internal/eventloop.go b/internal/eventloop.go index 479ac59..64c7d6f 100644 --- a/internal/eventloop.go +++ b/internal/eventloop.go @@ -8,6 +8,7 @@ import ( "os" "path/filepath" "reflect" + "runtime" "sync" "syscall" "time" @@ -407,11 +408,12 @@ func (e *eventLoop) events(ctx context.Context, rawCh <-chan []byte) <-chan *eve continue } e.processRawEvent(raw, ch) + // Yield so downstream consumers can process emitted pairs before + // the next raw event mutates shared tracker state. + runtime.Gosched() case <-ctx.Done(): fmt.Println("Stopping event loop") return - default: - time.Sleep(time.Millisecond * 10) } } }() |
