In Shutdown() pass an actual error code to notify(). B_OK is just
ignored. This fixes the hanging OpenSSH "multiplex" test. Save for the "forwarding" test, which sometimes hangs due to a TCP bug, the complete test suite passes, now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25284 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -687,12 +687,12 @@ UnixEndpoint::Shutdown(int direction)
|
||||
|
||||
// send select notifications
|
||||
if (direction == SHUT_RD || direction == SHUT_RDWR) {
|
||||
gSocketModule->notify(socket, B_SELECT_READ, B_OK);
|
||||
gSocketModule->notify(fPeerEndpoint->socket, B_SELECT_WRITE, B_OK);
|
||||
gSocketModule->notify(socket, B_SELECT_READ, EPIPE);
|
||||
gSocketModule->notify(fPeerEndpoint->socket, B_SELECT_WRITE, EPIPE);
|
||||
}
|
||||
if (direction == SHUT_WR || direction == SHUT_RDWR) {
|
||||
gSocketModule->notify(socket, B_SELECT_WRITE, B_OK);
|
||||
gSocketModule->notify(fPeerEndpoint->socket, B_SELECT_READ, B_OK);
|
||||
gSocketModule->notify(socket, B_SELECT_WRITE, EPIPE);
|
||||
gSocketModule->notify(fPeerEndpoint->socket, B_SELECT_READ, EPIPE);
|
||||
}
|
||||
|
||||
RETURN_ERROR(B_OK);
|
||||
|
||||
Reference in New Issue
Block a user