Commit aadcff49 authored by Zebediah Figura's avatar Zebediah Figura Committed by Alexandre Julliard

ws2_32: Wait for synchronous ioctl completion in server_ioctl_sock().

parent 8c26fca5
......@@ -3188,6 +3188,10 @@ static DWORD server_ioctl_sock( SOCKET s, DWORD code, LPVOID in_buff, DWORD in_s
if (!((ULONG_PTR)overlapped->hEvent & 1)) cvalue = overlapped;
event = overlapped->hEvent;
}
else
{
if (!(event = get_sync_event())) return GetLastError();
}
if (completion)
{
......@@ -3198,6 +3202,12 @@ static DWORD server_ioctl_sock( SOCKET s, DWORD code, LPVOID in_buff, DWORD in_s
status = NtDeviceIoControlFile( handle, event, apc, cvalue, piosb, code,
in_buff, in_size, out_buff, out_size );
if (status == STATUS_PENDING && !overlapped)
{
if (WaitForSingleObject( event, INFINITE ) == WAIT_FAILED)
return -1;
status = piosb->u.Status;
}
if (status == STATUS_NOT_SUPPORTED)
{
FIXME("Unsupported ioctl %x (device=%x access=%x func=%x method=%x)\n",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment