]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Revamp the mechanism for enumerating and calling shared objects'
authorJohn Polstra <jdp@FreeBSD.org>
Sun, 9 Jan 2000 21:13:48 +0000 (21:13 +0000)
committerJohn Polstra <jdp@FreeBSD.org>
Sun, 9 Jan 2000 21:13:48 +0000 (21:13 +0000)
commit9bfb1dfc29cb17b192fd05e9f8b17f702928a2ee
treeb5b58912b746381cc7da4a2c0cfc33b3879ec628
parent234c72c615a95f2eb0d76889b8f9d6712b05fc74
Revamp the mechanism for enumerating and calling shared objects'
init and fini functions.  Now the code is very careful to hold no
locks when calling these functions.  Thus the dynamic linker cannot
be re-entered with a lock already held.

Remove the tolerance for recursive locking that I added in revision
1.2 of dllockinit.c.  Recursive locking shouldn't happen any more.

Mozilla and JDK users: I'd appreciate confirmation that things still
work right (or at least the same) with these changes.
libexec/rtld-elf/alpha/lockdflt.c
libexec/rtld-elf/amd64/lockdflt.c
libexec/rtld-elf/i386/lockdflt.c
libexec/rtld-elf/lockdflt.c
libexec/rtld-elf/rtld.c
libexec/rtld-elf/rtld.h