On Mar 28, 2010, at 13:00, Arno Garrels wrote: > It sounds indeed somewhat strange that Abort triggers DataAvailable. In > general, when I call Abort I do not expect to receive any more data but > actually want to stop all ongoing processing asap.
Abort() calls InternalAbort(), which calls InternalClose() which calls TriggerSessionClosed(), which if you are using TCustomLineWSocket in LineMode, will call TriggerDataAvailable. The problem, as stated before was due to a premature call to Abort() from within a modified version of ASyncReceive(). Here's the stack trace provided by Jon: uUpdateServiceDaemon.TmeUpdateServiceDaemon.ClientDataAvailable($215BF40,0) OverbyteIcsWSocket.TCustomWSocket.TriggerDataAvailable(???) OverbyteIcsWSocket.TCustomSocksWSocket.TriggerDataAvailable(???) OverbyteIcsWSocket.TCustomLineWSocket.TriggerSessionClosed(0) OverbyteIcsWSocketS.TWSocketClient.TriggerSessionClosed(???) OverbyteIcsWSocket.TCustomWSocket.InternalClose(???,0) OverbyteIcsWSocket.TCustomSslWSocket.InternalAbort(???) OverbyteIcsWSocket.TCustomWSocket.Abort OverbyteIcsWSocket.TCustomWSocket.HandleBackGroundException(???) OverbyteIcsWSocket.TCustomWSocket.ASyncReceive(0,[]) <-- *** MODIFIED TO TRIGGER OnBgException OverbyteIcsWSocket.TCustomWSocket.Do_FD_READ(???) -- DZ-Jay [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be