about summary refs log tree commit diff
path: root/elf/rtld.c
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@redhat.com>2010-05-03 08:08:28 -0700
committerUlrich Drepper <drepper@redhat.com>2010-05-03 08:08:28 -0700
commit5a2a1d75043138e696222ced4560de2fb90b8024 (patch)
tree76c2da1388b8787ebabb9e61cf27d7510d1f5a7b /elf/rtld.c
parentc739ec3d81a34a87d8ae1276eab4f5880afc3476 (diff)
downloadglibc-5a2a1d75043138e696222ced4560de2fb90b8024.tar.gz
glibc-5a2a1d75043138e696222ced4560de2fb90b8024.tar.xz
glibc-5a2a1d75043138e696222ced4560de2fb90b8024.zip
Don't deadlock in __dl_iterate_phdr while (un)loading objects.
Diffstat (limited to 'elf/rtld.c')
-rw-r--r--elf/rtld.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/elf/rtld.c b/elf/rtld.c
index e26b2b9e1b..90f3ff126e 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -126,6 +126,7 @@ struct rtld_global _rtld_global =
     ._dl_stack_flags = PF_R|PF_W|PF_X,
 #ifdef _LIBC_REENTRANT
     ._dl_load_lock = _RTLD_LOCK_RECURSIVE_INITIALIZER,
+    ._dl_load_write_lock = _RTLD_LOCK_RECURSIVE_INITIALIZER,
 #endif
     ._dl_nns = 1,
     ._dl_ns =