diff --git a/src/add-ons/kernel/network/protocols/unix/UnixEndpoint.cpp b/src/add-ons/kernel/network/protocols/unix/UnixEndpoint.cpp index 130c198826..4b6410aefb 100644 --- a/src/add-ons/kernel/network/protocols/unix/UnixEndpoint.cpp +++ b/src/add-ons/kernel/network/protocols/unix/UnixEndpoint.cpp @@ -633,7 +633,10 @@ UnixEndpoint::Receivable() RETURN_ERROR(ENOTCONN); UnixFifoLocker fifoLocker(fReceiveFifo); - RETURN_ERROR(fReceiveFifo->Readable()); + ssize_t readable = fReceiveFifo->Readable(); + if (readable == 0 && fReceiveFifo->IsWriteShutdown()) + RETURN_ERROR(ENOTCONN); + RETURN_ERROR(readable); }