dlopen(), atexit() crash on FreeBSD (testcase included)

Markus Hoenicka markus.hoenicka at mhoenicka.de
Mon Dec 31 12:42:13 PST 2007


Alexander Kabaev writes:
 > As designed. atexit should not be used by shared objects that do not
 > expect themselves to live until actual exit() happens. ELF provides
 > proper _init/_fini sections to support shared object
 > initialization/destruction.
 > 

That is, the only real solution to this problem is to convince the
Firebird folks to remove their atexit() calls from the client
libraries? I'll try, but I'm not very confident this is going to
work. Also, I'm wondering how other OSes handle this. I don't see this
code crash on Linux, contrary to its design as you say.

Thanks anyway to you, and to Jason Evans, for your replies.

regards,
Markus

-- 
Markus Hoenicka
markus.hoenicka at cats.de
(Spam-protected email: replace the quadrupeds with "mhoenicka")
http://www.mhoenicka.de



More information about the freebsd-hackers mailing list