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.go11
1 files changed, 11 insertions, 0 deletions
diff --git a/internal/eventloop_exit.go b/internal/eventloop_exit.go
index 1fd6746..239724b 100644
--- a/internal/eventloop_exit.go
+++ b/internal/eventloop_exit.go
@@ -38,6 +38,8 @@ func (e *eventLoop) handleTracepointExit(ep *event.Pair) bool {
return e.handleEventfdExit(ep, ev)
case *types.EpollCtlEvent:
return e.handleEpollCtlExit(ep, ev)
+ case *types.PollEvent:
+ return e.handlePollExit(ep, ev)
case *types.NullEvent:
return e.handleNullExit(ep, ev)
case *types.FcntlEvent:
@@ -395,6 +397,15 @@ func (e *eventLoop) handleEpollCtlExit(ep *event.Pair, epollCtlEv *types.EpollCt
return true
}
+func (e *eventLoop) handlePollExit(ep *event.Pair, pollEv *types.PollEvent) bool {
+ ep.Comm = e.comm(pollEv.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)
}