>I have a multi-threaded application that uses a dynamically created
> THttpCli synchronously. I know that ICS is normally used
> asynchronously, but I could not determine a good way to handle that
> with all the dynamically created threads I have to use for database
> access anyway.
> When I want to terminate the thread normally or when I force it to
> terminate I call the THttpCli.Abort method. How can I insure that the
> THttpCli component is indeed aborted before freeing it and ending the
> Right now I do:
> while HTTP.State<>httpReady do
> Is this incorrect, unecessary or adequate?
> I was getting some ICS errors when freeing the thread which may have
> been related to freeing the THttpCli or the underlying receive stream.
> -Johnnie Norsworthy
I did the same thing (except for the sleep) but keep getting troubles with
the abort (hangs). The sleep I did not because I called the abort outside
the thread and you don't want to sleep the main thread! I guess you also
call it outside the thread as you use a sync call in the thread :-)
I changed to async calls but with the http.CtrlSocket.MessageLoop to mimic
sync behaviour. And for the abort I then used the
PostMessage(Http.CtrlSocket.Handle, WM_QUIT, 0, 0) to kill it. Never had any
Nice thing is that my multihreaded app is now showing much beter cpu load
then with the sync call !
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be