[PATCH try2 2/5] wininet: Free handle structs in WININET_Release.

Robert Shearman rob at codeweavers.com
Mon Aug 20 03:50:18 CDT 2007


Misha Koshelev wrote:
> This is necessary so that we send the INTERNET_STATUS_HANDLE_CLOSING before, for example 
> INTERNET_STATUS_CLOSE_CONNECTION gets sent from HTTP_CloseConnection in HTTP_CloseHTTPRequestHandle.
> This can be tested on native/with native wininet on wine because although we do not send
> INTERNET_STATUS_CLOSE_CONNECTION correctly when the data is finished reading on wine as native
> does, if we simply don't read all the data (or any data, changing the while TRUE's to while FALSE's
> in the InternetReadFiel_test for example in wininet/tests/http.c) then these do in fact get sent
> as a response to InternetCloseHandle like they do on wine, and INTERNET_STATUS_HANDLE_CLOSING
> always gets sent afterwards (last).
>   

It seems like it would be better to add a close_connection method to go 
along with destroy, instead of leaving the handle in a half-destroyed 
state. Either that, or to not use INTERNET_SendCallback to send the 
callback in this case so that you don't have to have a 
WININETHANDLEHEADER object still around.

-- 
Rob Shearman




More information about the wine-devel mailing list