Merijn Bosma wrote: > When the problem was found the solution was simple.
Great, thanks for this info! -- Arno Garrels [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html > > Set the OnDataAvailable event handler to nil before freeing the > wrapping object. > > rgs, > > Merijn > > Fastream Technologies wrote: >> Great job. Please tell us what your solution is as well. >> >> Best Regards, >> >> SZ >> >> On Tue, Apr 29, 2008 at 6:28 PM, Merijn Bosma <[EMAIL PROTECTED]> >> wrote: >> >>> The mystery is solved :) >>> >>> On our server side we have a wrapping object per connected client, >>> which takes care of a few things, amongst which sending keep alives >>> and timing the connection out if needed. >>> If a timeout is detected, the wrapping object is freed, the >>> clientside drops the connection, and this cleans up the socket >>> server-side as well. >>> >>> This all works well, except for a very occasional event, which could >>> happen when a client timed out and the wrapping object was freed (as >>> normal), and at that very moment a new client connected. >>> At this moment, it could happen that the memory manager >>> instantiated the wrapping object for the new client at exactly the >>> same memory location of the wrapping object which was just freed. >>> If at that moment, the socked of the previous client receive some >>> data before the connection was closed, it triggered it's >>> OnDataAvailable event, which was still set to the old wrapping >>> object, but now of course came out in the new wrapping object. >>> This caused a call to ReceiveStr() on the wrong TCustomWSocket, >>> causing the loop. >>> >>> it took a while to find, but it's finally solved. >>> >>> thanks for everybody thinking with me. >>> >>> >>> Francois PIETTE wrote: >>> >>>>> I've looked for LSP, but didn't find anything, can you explain >>>>> what you mean with it? >>>>> >>>>> >>>> http://www.microsoft.com/msj/0599/LayeredService/LayeredService.aspx >>>> >>>> -- >>>> [EMAIL PROTECTED] >>>> The author of the freeware multi-tier middleware MidWare >>>> The author of the freeware Internet Component Suite (ICS) >>>> http://www.overbyte.be >>>> >>>> >>>> >>> -- >>> 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 -- 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