mirror of
https://github.com/netbirdio/gvisor.git
synced 2026-05-22 17:12:49 -07:00
Fix SO_RCVTIMEOUT for recvmsg
PiperOrigin-RevId: 194938091 Change-Id: Id17f26df13a915ec0c388aad3198207ea1c28d53
This commit is contained in:
@@ -610,7 +610,14 @@ func RecvMsg(t *kernel.Task, args arch.SyscallArguments) (uintptr, *kernel.Sysca
|
||||
flags |= linux.MSG_DONTWAIT
|
||||
}
|
||||
|
||||
n, err := recvSingleMsg(t, s, msgPtr, flags, false, ktime.Time{})
|
||||
var haveDeadline bool
|
||||
var deadline ktime.Time
|
||||
if dl := s.RecvTimeout(); dl != 0 {
|
||||
deadline = t.Kernel().MonotonicClock().Now().Add(time.Duration(dl) * time.Nanosecond)
|
||||
haveDeadline = true
|
||||
}
|
||||
|
||||
n, err := recvSingleMsg(t, s, msgPtr, flags, haveDeadline, deadline)
|
||||
return n, nil, err
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user