Once again - this time with feeling - and no wrapping...
Tony Bryant
brd at paradise.net.nz
Sun Jan 27 02:11:03 CST 2002
? patch.diff
Index: files/file.c
===================================================================
RCS file: /home/wine/wine/files/file.c,v
retrieving revision 1.131
diff -r1.131 file.c
1359c1359,1360
< LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine)
---
> LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
> HANDLE hCompletionEvent)
1391a1393
> ovp->completion_event = hCompletionEvent;
1424,1429c1426
< return FILE_ReadFileEx(hFile,buffer,bytesToRead,overlapped,lpCompletionRoutine);
< }
<
< static VOID CALLBACK FILE_OverlappedComplete(DWORD status, DWORD count, LPOVERLAPPED ov)
< {
< NtSetEvent(ov->hEvent,NULL);
---
> return FILE_ReadFileEx(hFile,buffer,bytesToRead,overlapped,lpCompletionRoutine,(HANDLE)0L);
1442c1439,1441
< if(ReadFileEx(hFile, buffer, bytesToRead, &ov, FILE_OverlappedComplete))
---
> ov.Internal = STATUS_PENDING;
> ov.InternalHigh = 0;
> if(FILE_ReadFileEx(hFile, buffer, bytesToRead, &ov,NULL,ov.hEvent ))
1509c1508
< if(!FILE_ReadFileEx(hFile, buffer, bytesToRead, overlapped, FILE_OverlappedComplete))
---
> if(!FILE_ReadFileEx(hFile, buffer, bytesToRead, overlapped, NULL, overlapped->hEvent ))
1606c1605,1606
< LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine)
---
> LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
> HANDLE hCompletionEvent)
1639a1640
> ovp->completion_event = hCompletionEvent;
1670c1671
< return FILE_WriteFileEx(hFile, buffer, bytesToWrite, overlapped, lpCompletionRoutine);
---
> return FILE_WriteFileEx(hFile, buffer, bytesToWrite, overlapped, lpCompletionRoutine, (HANDLE)0L);
1733c1734
< if(!FILE_WriteFileEx(hFile, buffer, bytesToWrite, overlapped, FILE_OverlappedComplete))
---
> if(!FILE_WriteFileEx(hFile, buffer, bytesToWrite, overlapped, NULL, overlapped->hEvent))
Index: include/file.h
===================================================================
RCS file: /home/wine/wine/include/file.h,v
retrieving revision 1.37
diff -r1.37 file.h
46a47
> HANDLE completion_event;
Index: scheduler/synchro.c
===================================================================
RCS file: /home/wine/wine/scheduler/synchro.c,v
retrieving revision 1.40
diff -r1.40 synchro.c
20c20
<
---
> #include <stdio.h>
57a58,63
> }
> /* set ReadFile/WriteFile's overlapped completion event */
> if (ovp->completion_event)
> {
> NtSetEvent( ovp->completion_event, NULL );
> ovp->completion_event=NULL;
Index: server/serial.c
===================================================================
RCS file: /home/wine/wine/server/serial.c,v
retrieving revision 1.17
diff -r1.17 serial.c
265a266,267
> if (timeout<0)
> timeout=0x7FFFFFFF;
273a276,277
> if (timeout<0)
> timeout=0x7FFFFFFF;
More information about the wine-patches
mailing list