summaryrefslogtreecommitdiff
path: root/internal/eventloop_runtime.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-05-19 17:24:30 +0300
committerPaul Buetow <paul@buetow.org>2026-05-19 17:24:30 +0300
commit6ef2ad7d15b3a11e643f312884c222ac53165623 (patch)
treea08cf1809e85d32d8fc839e9df036cff97779166 /internal/eventloop_runtime.go
parent843def4f5c23db050cccfae57a9acb5899c110f4 (diff)
y6: add epoll ctl/wait tracing and ready-count coverage
Diffstat (limited to 'internal/eventloop_runtime.go')
-rw-r--r--internal/eventloop_runtime.go11
1 files changed, 11 insertions, 0 deletions
diff --git a/internal/eventloop_runtime.go b/internal/eventloop_runtime.go
index cce7299..135f7c1 100644
--- a/internal/eventloop_runtime.go
+++ b/internal/eventloop_runtime.go
@@ -148,6 +148,7 @@ func (e *eventLoop) initRawHandlers() {
e.registerMiscHandlers()
e.registerSocketHandlers()
e.registerIPCHandlers()
+ e.registerPollingHandlers()
}
// registerOpenHandlers wires enter/exit handlers for open-family events.
@@ -333,6 +334,16 @@ func (e *eventLoop) registerIPCHandlers() {
}
}
+func (e *eventLoop) registerPollingHandlers() {
+ e.rawHandlers[types.ENTER_EPOLL_CTL_EVENT] = func(raw []byte, _ chan<- *event.Pair) {
+ epollCtlEv, ok := decodeRawEvent(e, types.ENTER_EPOLL_CTL_EVENT, raw, types.NewEpollCtlEventFast)
+ if !ok {
+ return
+ }
+ e.tracepointEntered(epollCtlEv)
+ }
+}
+
func decodeRawEvent[T any](e *eventLoop, eventType types.EventType, raw []byte, decode func([]byte) *T) (*T, bool) {
decoded := decode(raw)
if decoded == nil {