MCPcopy
hub / github.com/google/gvisor / waitEventT

Method waitEventT

pkg/sentry/socket/plugin/stack/socket.go:837–849  ·  view source on GitHub ↗

waitEventT implements blocking wait on given events until one of the events have been reported or timeout based on given deadline.

(ctx context.Context, event waiter.EventMask, deadline ktime.Time)

Source from the content-addressed store, hash-verified

835// waitEventT implements blocking wait on given events
836// until one of the events have been reported or timeout based on given deadline.
837func (s *socketOperations) waitEventT(ctx context.Context, event waiter.EventMask, deadline ktime.Time) error {
838 var err error
839 t := ctx.(*kernel.Task)
840 e, ch := waiter.NewChannelEntry(event | waiter.EventErr | waiter.EventHUp)
841 s.EventRegister(&e)
842
843 if s.Readiness(event|waiter.EventErr|waiter.EventHUp) == 0 {
844 err = t.BlockWithDeadline(ch, true, deadline)
845 }
846
847 s.EventUnregister(&e)
848 return err
849}

Callers 2

RecvMsgMethod · 0.95
SendMsgMethod · 0.95

Calls 5

EventRegisterMethod · 0.95
ReadinessMethod · 0.95
EventUnregisterMethod · 0.95
NewChannelEntryFunction · 0.92
BlockWithDeadlineMethod · 0.80

Tested by

no test coverage detected