Date: Mon, 31 Dec 2007 14:20:51 -0800 From: Julian Elischer <julian@elischer.org> To: Markus Hoenicka <markus.hoenicka@mhoenicka.de> Cc: freebsd-hackers@freebsd.org Subject: Re: dlopen(), atexit() crash on FreeBSD (testcase included) Message-ID: <47796B43.9050704@elischer.org> In-Reply-To: <18297.20596.564077.568365@yeti.mininet> References: <18297.6718.750894.937199@yeti.mininet> <20071231142620.39f2fbd2@kan.dnsalias.net> <18297.20596.564077.568365@yeti.mininet>
next in thread | previous in thread | raw e-mail | index | archive | help
Markus Hoenicka wrote: > 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. Not sure but I'd guess that each library calls its at_exit entrypoints as part of its unload handling. > > regards, > Markus >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?47796B43.9050704>