wininet: Add tests for asynchronous HttpSendRequestEx/HttpEndRequest.
hans at meelstraat.net
Sat Apr 11 05:44:12 CDT 2009
On Saturday 11 April 2009 05:14:25 Nicolas Le Cam wrote:
> Your patch makes the test timeout on my machine
> Timeout occurs in HttpSendRequestEx_test on HttpEndRequest call which
> hang. Disabling test_async_HttpSendRequestEx makes it pass again.
> After some tests it seems to be a timing issue, but I haven't been
> able to find a real solution. Just that waiting at least 500msec
> between the two HttpEndRequest, or waiting at least 150ms after the
> WaitForSingleObject that follow the second HttpEndRequest makes test
> pass. Reading response doesn't change anything.
> After reading a little bit about how this works I don't see anything
> wrong. Perhaps you will.
Windows keeps a cache of connections, so when the second test is executed
within the cache timeout it will use the same connection and we will not
see certain notifications, such as INTERNET_STATUS_CLOSING_CONNECTION.
I have found that sleeping for 2 seconds is enough to defeat the cache.
More information about the wine-devel