mirror of
https://github.com/netbirdio/gvisor.git
synced 2026-05-22 17:12:49 -07:00
Plumbing context.Context to DecRef() and Release().
context is passed to DecRef() and Release() which is needed for SO_LINGER implementation. PiperOrigin-RevId: 324672584
This commit is contained in:
committed by
gVisor bot
parent
ef11bb936b
commit
b2ae7ea1bb
@@ -330,7 +330,7 @@ func New(t *kernel.Task, family int, skType linux.SockType, protocol int, queue
|
||||
}
|
||||
|
||||
dirent := socket.NewDirent(t, netstackDevice)
|
||||
defer dirent.DecRef()
|
||||
defer dirent.DecRef(t)
|
||||
return fs.NewFile(t, dirent, fs.FileFlags{Read: true, Write: true, NonSeekable: true}, &SocketOperations{
|
||||
socketOpsCommon: socketOpsCommon{
|
||||
Queue: queue,
|
||||
@@ -479,7 +479,7 @@ func (s *socketOpsCommon) fetchReadView() *syserr.Error {
|
||||
}
|
||||
|
||||
// Release implements fs.FileOperations.Release.
|
||||
func (s *socketOpsCommon) Release() {
|
||||
func (s *socketOpsCommon) Release(context.Context) {
|
||||
s.Endpoint.Close()
|
||||
}
|
||||
|
||||
@@ -854,7 +854,7 @@ func (s *SocketOperations) Accept(t *kernel.Task, peerRequested bool, flags int,
|
||||
if err != nil {
|
||||
return 0, nil, 0, err
|
||||
}
|
||||
defer ns.DecRef()
|
||||
defer ns.DecRef(t)
|
||||
|
||||
if flags&linux.SOCK_NONBLOCK != 0 {
|
||||
flags := ns.Flags()
|
||||
|
||||
@@ -169,7 +169,7 @@ func (s *SocketVFS2) Accept(t *kernel.Task, peerRequested bool, flags int, block
|
||||
if err != nil {
|
||||
return 0, nil, 0, err
|
||||
}
|
||||
defer ns.DecRef()
|
||||
defer ns.DecRef(t)
|
||||
|
||||
if err := ns.SetStatusFlags(t, t.Credentials(), uint32(flags&linux.SOCK_NONBLOCK)); err != nil {
|
||||
return 0, nil, 0, syserr.FromError(err)
|
||||
|
||||
Reference in New Issue
Block a user