Date: Sat, 20 Jun 2009 14:16:41 +0000 (UTC) From: Alexander Kabaev <kan@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/libexec/rtld-elf rtld.c rtld.h Message-ID: <200906201417.n5KEH07F015051@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
kan 2009-06-20 14:16:41 UTC
FreeBSD src repository
Modified files:
libexec/rtld-elf rtld.c rtld.h
Log:
SVN rev 194531 on 2009-06-20 14:16:41Z by kan
Allow order of initialization of loaded shared objects to be
altered through their .init code. This might happen if init
vector calls dlopen on its own and that dlopen causes some not
yet initialized object to be initialized earlier as part of that
dlopened DAG.
Do not reset module reference counts to zero on final fini vector
run when process is exiting. Just add an additional parameter to
force fini vector invocation regardless of current reference count
value if object was not destructed yet. This allows dlclose called
from fini vector to proceed normally instead of failing with handle
validation error.
Reviewed by: kib
Reported by: venki kaps
Revision Changes Path
1.136 +43 -46 src/libexec/rtld-elf/rtld.c
1.43 +4 -2 src/libexec/rtld-elf/rtld.h
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906201417.n5KEH07F015051>
