diff options
Diffstat (limited to 'internal/eventloop_exit.go')
| -rw-r--r-- | internal/eventloop_exit.go | 11 |
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) } |
