summary refs log tree commit diff
path: root/elf/rtld.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-05-04 13:19:20 +0000
committerUlrich Drepper <drepper@redhat.com>1998-05-04 13:19:20 +0000
commiteb4063467c4ef625c1687b4c158bacf475821363 (patch)
tree9f47ace87d060f54a05b1315b741acb8ae3f5728 /elf/rtld.c
parent15f32e7b7912df66ff5e1d337e4f621157504058 (diff)
downloadglibc-eb4063467c4ef625c1687b4c158bacf475821363.tar.gz
glibc-eb4063467c4ef625c1687b4c158bacf475821363.tar.xz
glibc-eb4063467c4ef625c1687b4c158bacf475821363.zip
Update.
1998-05-04 12:40  Ulrich Drepper  <drepper@cygnus.com>

	* malloc/malloc.c (ptmalloc_init_all): New function.  Similar to
	ptmalloc_unlock_all, but re-initializes the mutexes instead.
	(ptmalloc_init): Use new function in thread_at_fork call.
	(thread_atfork_static): Likewise.
	Suggested by Wolfram Gloger and Xavier Leroy.
Diffstat (limited to 'elf/rtld.c')
-rw-r--r--elf/rtld.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/elf/rtld.c b/elf/rtld.c
index 6b1a5c2b73..868ed2c075 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -485,14 +485,12 @@ of this helper program; chances are you did not intend to run this program.\n\
 	 is specified (i.e., this is no dynamically linked binary.  */
       if (main_map->l_ld == NULL)
 	_exit (1);
-      if (!has_interp)
-	_exit (2);
 
       /* We allow here some platform specific code.  */
 #ifdef DISTINGUISH_LIB_VERSIONS
       DISTINGUISH_LIB_VERSIONS;
 #endif
-      _exit (0);
+      _exit (has_interp ? 0 : 2);
     }
 
   if (! paths_initialized)
@@ -645,7 +643,7 @@ of this helper program; chances are you did not intend to run this program.\n\
   if (_dl_rtld_map.l_next)
     _dl_rtld_map.l_next->l_prev = _dl_rtld_map.l_prev;
 
-  if (_dl_rtld_map.l_opencount)
+  if (_dl_rtld_map.l_opencount > 1)
     {
       /* Some DT_NEEDED entry referred to the interpreter object itself, so
 	 put it back in the list of visible objects.  We insert it into the