From e44b100654ca639d11221e547384f699e461296d Mon Sep 17 00:00:00 2001 From: Kevin Krakauer Date: Thu, 7 Oct 2021 17:37:50 -0700 Subject: add convenient wrapper for eventfd The same create/write/read pattern is copied around several places. It's easier to understand in a package with names and comments, and we can reuse the smart blocking code in package rawfile. PiperOrigin-RevId: 401647108 --- pkg/tcpip/link/sharedmem/sharedmem_server.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'pkg/tcpip/link/sharedmem/sharedmem_server.go') diff --git a/pkg/tcpip/link/sharedmem/sharedmem_server.go b/pkg/tcpip/link/sharedmem/sharedmem_server.go index 16feb64b2..ccc84989d 100644 --- a/pkg/tcpip/link/sharedmem/sharedmem_server.go +++ b/pkg/tcpip/link/sharedmem/sharedmem_server.go @@ -20,7 +20,6 @@ package sharedmem import ( "sync/atomic" - "golang.org/x/sys/unix" "gvisor.dev/gvisor/pkg/sync" "gvisor.dev/gvisor/pkg/tcpip" "gvisor.dev/gvisor/pkg/tcpip/buffer" @@ -122,7 +121,7 @@ func (e *serverEndpoint) Close() { // Tell dispatch goroutine to stop, then write to the eventfd so that it wakes // up in case it's sleeping. atomic.StoreUint32(&e.stopRequested, 1) - unix.Write(e.rx.eventFD, []byte{1, 0, 0, 0, 0, 0, 0, 0}) + e.rx.eventFD.Notify() // Cleanup the queues inline if the worker hasn't started yet; we also know it // won't start from now on because stopRequested is set to 1. -- cgit v1.2.3