Module Name: src Committed By: joerg Date: Sun Mar 27 21:58:51 UTC 2011
Modified Files: src/libexec/ld.elf_so: rtld.c Log Message: Handle _rtld_exit as full entry point since other threads may still be running at the time. To generate a diff of this commit: cvs rdiff -u -r1.144 -r1.145 src/libexec/ld.elf_so/rtld.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/libexec/ld.elf_so/rtld.c diff -u src/libexec/ld.elf_so/rtld.c:1.144 src/libexec/ld.elf_so/rtld.c:1.145 --- src/libexec/ld.elf_so/rtld.c:1.144 Sun Mar 27 13:15:34 2011 +++ src/libexec/ld.elf_so/rtld.c Sun Mar 27 21:58:50 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: rtld.c,v 1.144 2011/03/27 13:15:34 joerg Exp $ */ +/* $NetBSD: rtld.c,v 1.145 2011/03/27 21:58:50 joerg Exp $ */ /* * Copyright 1996 John D. Polstra. @@ -40,7 +40,7 @@ #include <sys/cdefs.h> #ifndef lint -__RCSID("$NetBSD: rtld.c,v 1.144 2011/03/27 13:15:34 joerg Exp $"); +__RCSID("$NetBSD: rtld.c,v 1.145 2011/03/27 21:58:50 joerg Exp $"); #endif /* not lint */ #include <sys/param.h> @@ -304,7 +304,11 @@ { dbg(("rtld_exit()")); + _rtld_exclusive_enter(); + _rtld_call_fini_functions(1); + + _rtld_exclusive_exit(); } /*