From owner-cvs-all Sun Jan 9 13:13:52 2000 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (Postfix) with ESMTP id F12A014D2A; Sun, 9 Jan 2000 13:13:49 -0800 (PST) (envelope-from jdp@FreeBSD.org) Received: (from jdp@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id NAA23522; Sun, 9 Jan 2000 13:13:49 -0800 (PST) (envelope-from jdp@FreeBSD.org) Message-Id: <200001092113.NAA23522@freefall.freebsd.org> From: John Polstra Date: Sun, 9 Jan 2000 13:13:49 -0800 (PST) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/libexec/rtld-elf lockdflt.c rtld.c rtld.h Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk jdp 2000/01/09 13:13:49 PST Modified files: libexec/rtld-elf lockdflt.c rtld.c rtld.h Log: 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. Revision Changes Path 1.3 +6 -17 src/libexec/rtld-elf/lockdflt.c 1.41 +153 -73 src/libexec/rtld-elf/rtld.c 1.14 +16 -4 src/libexec/rtld-elf/rtld.h To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message