Revert part of #17156 and #17157 changes. Modified: trunk/reactos/drivers/fs/np/rw.c _____
Modified: trunk/reactos/drivers/fs/np/rw.c --- trunk/reactos/drivers/fs/np/rw.c 2005-08-08 04:26:23 UTC (rev 17194) +++ trunk/reactos/drivers/fs/np/rw.c 2005-08-08 09:24:20 UTC (rev 17195) @@ -398,25 +398,23 @@
{ if (Fcb->ReadDataAvailable == 0) { + if (Fcb->PipeState == FILE_PIPE_CONNECTED_STATE) + { + ASSERT(Fcb->OtherSide != NULL); + KeSetEvent(&Fcb->OtherSide->WriteEvent, IO_NO_INCREMENT, FALSE); + } + if (Information > 0 && + (Fcb->Pipe->ReadMode != FILE_PIPE_BYTE_STREAM_MODE || + Fcb->PipeState != FILE_PIPE_CONNECTED_STATE)) + { + break; + } if (Fcb->PipeState != FILE_PIPE_CONNECTED_STATE) { DPRINT("PipeState: %x\n", Fcb->PipeState); - if (Fcb->PipeState == FILE_PIPE_LISTENING_STATE) - Status = STATUS_PIPE_LISTENING; - else - Status = STATUS_PIPE_DISCONNECTED; + Status = STATUS_PIPE_BROKEN; break; } - - ASSERT(Fcb->OtherSide != NULL); - KeSetEvent(&Fcb->OtherSide->WriteEvent, IO_NO_INCREMENT, FALSE); - - if (Information > 0 && - Fcb->Pipe->ReadMode != FILE_PIPE_BYTE_STREAM_MODE) - { - break; - } - ExReleaseFastMutex(&Fcb->DataListLock); if (IoIsOperationSynchronous(Irp)) {