summaryrefslogtreecommitdiff
path: root/internal/eventloop.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/eventloop.go')
-rw-r--r--internal/eventloop.go6
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)
}
}
}()