http://bugs.winehq.org/show_bug.cgi?id=19713
--- Comment #6 from Juan Lang juan_lang@yahoo.com 2009-08-14 15:41:02 --- (In reply to comment #5)
Now i've tried to replace FALSE with TRUE. Now, it passes Checkpoint 2, but comes to Checkpoint 3, while windows is coming to Checkpoint 4. It still behaves differently. I'm not sure that it is bug, but it is incompability. What policy do wine developer keep to?
This seems like a bug. In general, a difference in behavior between Windows and Wine is considered a bug. With regards to the earlier program, with bManualReset = FALSE, it *appears* to be a program bug rather than a Wine bug. It may well be that under Windows, with a particular program and serial driver, the program doesn't deadlock. However, with the large MSDN warning about potential deadlock, I'd want to be certain that the deadlock _never_ happens, with any serial driver and under any version of Windows, before I say that it is a Wine bug.
So with the modified program, with bManualReset = TRUE, GetOverlappedResult returns TRUE in Windows and FALSE in Wine, correct?