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