ntdll: Make asynchronous WaitCommEvent report correct number of bytes returned.
This commit is contained in:
parent
38871d842f
commit
a20b07c558
|
@ -863,7 +863,6 @@ todo_wine
|
|||
{
|
||||
res = GetOverlappedResult(hcom, &ovl_wait, &bytes, FALSE);
|
||||
ok(res, "GetOverlappedResult reported error %d\n", GetLastError());
|
||||
todo_wine
|
||||
ok(bytes == sizeof(evtmask), "expected %u, written %u\n", (UINT)sizeof(evtmask), bytes);
|
||||
res = TRUE;
|
||||
}
|
||||
|
@ -2135,7 +2134,6 @@ todo_wine
|
|||
last_event_time = after;
|
||||
ret = GetOverlappedResult(hcom, &ovl_wait, &bytes, FALSE);
|
||||
ok(ret, "GetOverlappedResult reported error %d\n", GetLastError());
|
||||
todo_wine
|
||||
ok(bytes == sizeof(evtmask), "expected sizeof(evtmask), got %u\n", bytes);
|
||||
ok(evtmask & EV_RXCHAR, "EV_RXCHAR should be set\n");
|
||||
|
||||
|
|
|
@ -947,7 +947,16 @@ static DWORD CALLBACK wait_for_event(LPVOID arg)
|
|||
}
|
||||
if (needs_close) close( fd );
|
||||
}
|
||||
if (commio->iosb) commio->iosb->u.Status = *commio->events ? STATUS_SUCCESS : STATUS_CANCELLED;
|
||||
if (commio->iosb)
|
||||
{
|
||||
if (*commio->events)
|
||||
{
|
||||
commio->iosb->u.Status = STATUS_SUCCESS;
|
||||
commio->iosb->Information = sizeof(DWORD);
|
||||
}
|
||||
else
|
||||
commio->iosb->u.Status = STATUS_CANCELLED;
|
||||
}
|
||||
if (commio->hEvent) NtSetEvent(commio->hEvent, NULL);
|
||||
RtlFreeHeap(GetProcessHeap(), 0, commio);
|
||||
return 0;
|
||||
|
|
Loading…
Reference in New Issue