diff --git a/src/add-ons/kernel/network/protocols/unix/UnixEndpoint.cpp b/src/add-ons/kernel/network/protocols/unix/UnixEndpoint.cpp index 4b6410aefb..9ec89f348e 100644 --- a/src/add-ons/kernel/network/protocols/unix/UnixEndpoint.cpp +++ b/src/add-ons/kernel/network/protocols/unix/UnixEndpoint.cpp @@ -3,6 +3,7 @@ * Distributed under the terms of the MIT License. */ + #include "UnixEndpoint.h" #include @@ -431,6 +432,8 @@ UnixEndpoint::Send(const iovec *vecs, size_t vecCount, gStackModule->store_syscall_restart_timeout(timeout); UnixEndpointLocker locker(this); + + Reference peerReference; UnixEndpointLocker peerLocker; status_t error = _LockConnectedEndpoints(locker, peerLocker); @@ -438,7 +441,7 @@ UnixEndpoint::Send(const iovec *vecs, size_t vecCount, RETURN_ERROR(error); UnixEndpoint* peerEndpoint = fPeerEndpoint; - Reference peerReference(peerEndpoint); + peerReference.SetTo(peerEndpoint); // lock the peer's FIFO UnixFifo* peerFifo = peerEndpoint->fReceiveFifo;