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
