summaryrefslogtreecommitdiff
path: root/internal/eventloop_exit.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/eventloop_exit.go')
-rw-r--r--internal/eventloop_exit.go9
1 files changed, 9 insertions, 0 deletions
diff --git a/internal/eventloop_exit.go b/internal/eventloop_exit.go
index ae085c6..105d9ac 100644
--- a/internal/eventloop_exit.go
+++ b/internal/eventloop_exit.go
@@ -385,7 +385,16 @@ func (e *eventLoop) handleEventfdExit(ep *event.Pair, eventfdEv *types.EventfdEv
}
func (e *eventLoop) handleEpollCtlExit(ep *event.Pair, epollCtlEv *types.EpollCtlEvent) bool {
+ // File resolves to the epoll instance (epfd); the decoded op/target-fd/events
+ // are surfaced separately via ep.Epoll so consumers can see which descriptor
+ // was registered and the operation performed.
ep.File = e.fdState().resolve(epollCtlEv.Epfd, epollCtlEv.Pid)
+ ep.Epoll = event.EpollCtl{
+ Op: epollCtlEv.Op,
+ TargetFD: epollCtlEv.Fd,
+ Events: epollCtlEv.Events,
+ }
+ ep.HasEpoll = true
return e.finishPairForTid(ep, epollCtlEv.GetTid())
}