From 35e9bc012e31f771d1569272877dc6cfb9210ab8 Mon Sep 17 00:00:00 2001 From: Samuel Ortiz Date: Mon, 9 May 2022 12:31:18 +0200 Subject: [PATCH 1/2] socket: Do not release the shared devices pointer As the VMM, we own it. Fixed-by: Michael Crosby Signed-off-by: Samuel Ortiz --- socket.go | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/socket.go b/socket.go index 173cae6..2df75a0 100644 --- a/socket.go +++ b/socket.go @@ -78,9 +78,7 @@ func newVirtioSocketDevice(ptr, dispatchQueue unsafe.Pointer) *VirtioSocketDevic ptr: ptr, }, } - runtime.SetFinalizer(socketDevice, func(self *VirtioSocketDevice) { - self.Release() - }) + return socketDevice } @@ -157,9 +155,6 @@ func NewVirtioSocketListener(handler func(conn *VirtioSocketConnection, err erro return true // must be connected } - runtime.SetFinalizer(listener, func(self *VirtioSocketListener) { - self.Release() - }) return listener, nil } From 9155e48df6000574667dee68f0ba16f528263bba Mon Sep 17 00:00:00 2001 From: Kei Kamikawa Date: Wed, 12 Oct 2022 23:01:20 +0900 Subject: [PATCH 2/2] tweak code --- socket.go | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/socket.go b/socket.go index 2df75a0..47f33ee 100644 --- a/socket.go +++ b/socket.go @@ -72,14 +72,12 @@ type VirtioSocketDevice struct { } func newVirtioSocketDevice(ptr, dispatchQueue unsafe.Pointer) *VirtioSocketDevice { - socketDevice := &VirtioSocketDevice{ + return &VirtioSocketDevice{ dispatchQueue: dispatchQueue, pointer: pointer{ ptr: ptr, }, } - - return socketDevice } // SetSocketListenerForPort configures an object to monitor the specified port for new connections.