mirror of
https://github.com/reactos/reactos.git
synced 2025-04-21 20:50:29 +00:00
ConnectNamedPipe must return TRUE if lpOverlapped is not NULL and NtFsIoControl returns STATUS_PENDING.
svn path=/trunk/; revision=13765
This commit is contained in:
parent
2229c3b1f4
commit
ccabddbffd
1 changed files with 8 additions and 3 deletions
|
@ -330,6 +330,9 @@ ConnectNamedPipe(HANDLE hNamedPipe,
|
||||||
0,
|
0,
|
||||||
NULL,
|
NULL,
|
||||||
0);
|
0);
|
||||||
|
if ((lpOverlapped != NULL) && (Status == STATUS_PENDING))
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
if ((lpOverlapped == NULL) && (Status == STATUS_PENDING))
|
if ((lpOverlapped == NULL) && (Status == STATUS_PENDING))
|
||||||
{
|
{
|
||||||
Status = NtWaitForSingleObject(hNamedPipe,
|
Status = NtWaitForSingleObject(hNamedPipe,
|
||||||
|
@ -338,17 +341,19 @@ ConnectNamedPipe(HANDLE hNamedPipe,
|
||||||
if (!NT_SUCCESS(Status))
|
if (!NT_SUCCESS(Status))
|
||||||
{
|
{
|
||||||
SetLastErrorByStatus(Status);
|
SetLastErrorByStatus(Status);
|
||||||
return(FALSE);
|
return FALSE;
|
||||||
}
|
}
|
||||||
Status = Iosb.Status;
|
Status = Iosb.Status;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((!NT_SUCCESS(Status) && Status != STATUS_PIPE_CONNECTED) ||
|
if ((!NT_SUCCESS(Status) && Status != STATUS_PIPE_CONNECTED) ||
|
||||||
(Status == STATUS_PENDING))
|
(Status == STATUS_PENDING))
|
||||||
{
|
{
|
||||||
SetLastErrorByStatus(Status);
|
SetLastErrorByStatus(Status);
|
||||||
return(FALSE);
|
return FALSE;
|
||||||
}
|
}
|
||||||
return(TRUE);
|
|
||||||
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue