serial: Fix race for IOCTL_SERIAL_WAIT_ON_MASK
Alexandre Julliard
julliard at winehq.org
Tue Apr 19 08:29:27 CDT 2011
Wolfgang Walter <wolfgang.walter at stwm.de> writes:
> So this is my theorie:
>
> * wait_on() is called.
>
> * wait_on() calls RtlQueueWorkItem(wait_for_event, commio, 0 /* FIXME */)
> and returns with STATUS_PENDING
>
> * wait_for_event() finishes and sets iosb before io_control() continues
>
> * io_control sets iosb to STATUS_PENDING
The last one is a bug. iosb should only be set once we have a
result. Check how the other async I/O functions do it.
--
Alexandre Julliard
julliard at winehq.org
More information about the wine-devel
mailing list