Robert Chafer wrote: > Hi > > When I use TWSocket based components and they do an async operation, > does the operation actually happen on a separate thread and then the > results get sent via a message to the calling thread?
ICS components do not create threads. The components and events are executed in the thread context where the components have been created. Async behaviour is achieved by calling non blocking winsock API which uses messages sent to a hidden window in order to notify the application about winsock events. In ICS V5 each TWSocket instance creates its own hidden window, in V6 any instances in the same thread share a single hidden window. --- Arno Garrels [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html > > My reasons for asking is that is how ADO works, if you perform an > asynchronous execute, it is done on another thread..... I have an app > that uses the smtp client and ADO. There is a (very) subtle bug in ADO > that means ADO async threads sometimes hang when they are released. > This happens about one time in 100,000 calls (by hang I mean they do > not return -- the app still runs as they are in a message loop). To > get around this I have some code that looks at the threads running, > spots long running threads and kills them. It works, however it upsets > TWSocket operations and I think I may be killing a TWSocket thread... > so is there a way to find out the threads used by TWSocket? > -- > > Rob Chafer > Silverfrost -- 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