mirror of
https://github.com/netbirdio/gvisor.git
synced 2026-05-22 17:12:49 -07:00
[syserror] Add conversions to linuxerr with temporary Equals method.
Add Equals method to compare syserror and unix.Errno errors to linuxerr errors. This will facilitate removal of syserror definitions in a followup, and finding needed conversions from unix.Errno to linuxerr. PiperOrigin-RevId: 380909667
This commit is contained in:
committed by
gVisor bot
parent
01bcd55c3a
commit
e1dc1c78e7
@@ -21,6 +21,7 @@ go_library(
|
||||
"//pkg/abi/linux",
|
||||
"//pkg/abi/linux/errno",
|
||||
"//pkg/context",
|
||||
"//pkg/errors/linuxerr",
|
||||
"//pkg/hostarch",
|
||||
"//pkg/log",
|
||||
"//pkg/marshal",
|
||||
|
||||
@@ -38,6 +38,7 @@ import (
|
||||
"gvisor.dev/gvisor/pkg/abi/linux"
|
||||
"gvisor.dev/gvisor/pkg/abi/linux/errno"
|
||||
"gvisor.dev/gvisor/pkg/context"
|
||||
"gvisor.dev/gvisor/pkg/errors/linuxerr"
|
||||
"gvisor.dev/gvisor/pkg/hostarch"
|
||||
"gvisor.dev/gvisor/pkg/log"
|
||||
"gvisor.dev/gvisor/pkg/marshal"
|
||||
@@ -2809,7 +2810,7 @@ func (s *socketOpsCommon) RecvMsg(t *kernel.Task, dst usermem.IOSequence, flags
|
||||
if n > 0 {
|
||||
return n, msgFlags, senderAddr, senderAddrLen, controlMessages, nil
|
||||
}
|
||||
if err == syserror.ETIMEDOUT {
|
||||
if linuxerr.Equals(linuxerr.ETIMEDOUT, err) {
|
||||
return 0, 0, nil, 0, socket.ControlMessages{}, syserr.ErrTryAgain
|
||||
}
|
||||
return 0, 0, nil, 0, socket.ControlMessages{}, syserr.FromError(err)
|
||||
@@ -2877,7 +2878,7 @@ func (s *socketOpsCommon) SendMsg(t *kernel.Task, src usermem.IOSequence, to []b
|
||||
// became available between when we last checked and when we setup
|
||||
// the notification.
|
||||
if err := t.BlockWithDeadline(ch, haveDeadline, deadline); err != nil {
|
||||
if err == syserror.ETIMEDOUT {
|
||||
if linuxerr.Equals(linuxerr.ETIMEDOUT, err) {
|
||||
return int(total), syserr.ErrTryAgain
|
||||
}
|
||||
// handleIOError will consume errors from t.Block if needed.
|
||||
|
||||
Reference in New Issue
Block a user