Christian Costa wrote:
Avoid indefinite wait when calling GetOverlappedResult.
This shouldn't happen. GetOverlappedResult should do a wait on the event object, just like the wait above that succeeds (and GetOverlappedResult is called) or times out (and GetOverlappedResult is not called). I suspect that the bug is elsewhere, perhaps an event should be created for each request and then WaitForMultipleObjects used.
BTW, I meant infinite wait...
Well, some lines above the GetOverlappedResult, there is a WaitForSingleObject on the event and since the event is resetted automatically there (the event is not manual) GetOverlappedResult will wait forever. There is no bug elsewhere its a rather simple win32 related problem. Anyway, we may make use of a manual event for real asynchronous requests. The avi splitter don't do that at the moment so the current implementation is enough.
Ah, yes. In that case the patch is correct.
Thanks for the comments. :-)
You're welcome.
Rob