diff options
Diffstat (limited to 'pkg/tcpip/transport/unix/connectionless.go')
-rw-r--r-- | pkg/tcpip/transport/unix/connectionless.go | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/pkg/tcpip/transport/unix/connectionless.go b/pkg/tcpip/transport/unix/connectionless.go index 2a6ec8b4b..ebd4802b0 100644 --- a/pkg/tcpip/transport/unix/connectionless.go +++ b/pkg/tcpip/transport/unix/connectionless.go @@ -77,9 +77,15 @@ func (e *connectionlessEndpoint) BidirectionalConnect(ce ConnectingEndpoint, ret // UnidirectionalConnect implements BoundEndpoint.UnidirectionalConnect. func (e *connectionlessEndpoint) UnidirectionalConnect() (ConnectedEndpoint, *tcpip.Error) { + e.Lock() + r := e.receiver + e.Unlock() + if r == nil { + return nil, tcpip.ErrConnectionRefused + } return &connectedEndpoint{ endpoint: e, - writeQueue: e.receiver.(*queueReceiver).readQueue, + writeQueue: r.(*queueReceiver).readQueue, }, nil } |