2012/8/29 Lukasz Sokol <[email protected]>:

> BTW, Frankly, would it not be easier/less error prone if the 
> FDisconnectLock.[Acquire|Release]
> did that ? (i.e. increase/decrease the RefCount of Self as well as 
> acquire/release the lock ?)
> It seems /logically/ correct : there is /one/ more activity associated to 
> this object, so it
> can't be freed before it's done ?

Yes, you are right, that would consequently be the most logical place
for these calls. It was just a pragmatic quick fix to narrow down the
source of the problem. I'm not yet 100% satisfied with this entire
connection object and everything that surrounds it (and the multiple
ways it must be able to end its life: it must be able to free itself
(happens on the network thread) and it must be able to be disconnected
and freed from the outside from the main thread). Athough now it seems
that all crashes are gone I somehow still don't really like the code
yet.

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to