Serial comm overlapped IO problem

Eric Pouech pouech-eric at wanadoo.fr
Thu Jul 17 13:38:12 CDT 2003


Rein Klazes wrote:
> Hi,
> 
> Recent commits
> http://www.winehq.com/hypermail/wine-cvs/2003/06/0232.html and
> http://www.winehq.com/hypermail/wine-cvs/2003/07/0090.html
> 
> broke communication with my online banking program girotel.

does this patch help ?
A+

-- 
Eric Pouech
-------------- next part --------------
Index: dlls/ntdll/file.c
===================================================================
RCS file: /home/cvs/cvsroot/wine/wine/dlls/ntdll/file.c,v
retrieving revision 1.28
diff -u -r1.28 file.c
--- dlls/ntdll/file.c	11 Jul 2003 21:44:17 -0000	1.28
+++ dlls/ntdll/file.c	17 Jul 2003 18:36:23 -0000
@@ -401,6 +404,16 @@
         ret = register_new_async(&ovp->async);
         if (ret != STATUS_SUCCESS)
             return ret;
+        if (flags & FD_FLAG_TIMEOUT)
+            NtDelayExecution( TRUE, NULL );
+        else
+        {
+            LARGE_INTEGER   timeout;
+
+            /* let some APC be run, this may read some already pending data */
+            timeout.s.LowPart = timeout.s.HighPart = 0;
+            NtDelayExecution( FALSE, &timeout );
+        }
         return io_status->u.Status;
     }
     switch (type)


More information about the wine-devel mailing list