On 11 Mar 2015, at 4:48 PM, Matthew Newton <mcn4@leicester.ac.uk> wrote:
Oh nasty. That's exactly what I've just been through with the Samba guys. I did a patch that used thread local storage, but then in the best case you end up likely to leak memory because the right destructor isn't called, or worse the library is unloaded but there are still pointers left for destructor functions in some threads, leading to crashes.
Solution? Nice clean initialise and free functions, then pass the context into everything you use. All the messy heuristics go out of the window and everyone is happy.
Agreed, there is no real solution for FreeRADIUS to work around it in this case; the library needs fixing.
I don’t follow - how does libldap work with software like httpd, but not work with freeradius? Regards, Graham —