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.go12
1 files changed, 12 insertions, 0 deletions
diff --git a/internal/eventloop_exit.go b/internal/eventloop_exit.go
index 345424c..1fd6746 100644
--- a/internal/eventloop_exit.go
+++ b/internal/eventloop_exit.go
@@ -36,6 +36,8 @@ func (e *eventLoop) handleTracepointExit(ep *event.Pair) bool {
return e.handlePipeExit(ep, ev)
case *types.EventfdEvent:
return e.handleEventfdExit(ep, ev)
+ case *types.EpollCtlEvent:
+ return e.handleEpollCtlExit(ep, ev)
case *types.NullEvent:
return e.handleNullExit(ep, ev)
case *types.FcntlEvent:
@@ -383,6 +385,16 @@ func (e *eventLoop) handleEventfdExit(ep *event.Pair, eventfdEv *types.EventfdEv
return true
}
+func (e *eventLoop) handleEpollCtlExit(ep *event.Pair, epollCtlEv *types.EpollCtlEvent) bool {
+ ep.File = e.fdState().resolve(epollCtlEv.Epfd, epollCtlEv.Pid)
+ ep.Comm = e.comm(epollCtlEv.GetTid())
+ if !e.Filter().MatchPair(ep) {
+ ep.Recycle()
+ return false
+ }
+ return true
+}
+
func pipeDescriptorName(flags, fd0, fd1 int32) string {
return fmt.Sprintf("pipe:%d:%d:%d", flags, fd0, fd1)
}