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.
On Mon, 2007-08-20 at 09:50 +0100, Robert Shearman wrote:
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.
Ok thanks for the comment, will think & resubmit smthng when I get a chance... busy week this week.
Misha