blob: eca1193dd37f0a5d8db6a5bea8825e01873c0d70 [file] [log] [blame]
Brad Bishop316dfdd2018-06-25 12:45:53 -04001From 847d37d5a34e4bf294de4ba98de3668950e28bc7 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 27 Jan 2018 10:05:07 -0800
4Subject: [PATCH 26/27] reset dl_load_write_lock after forking
5
6The patch in this Bugzilla entry was requested by a customer:
7
8 https://www.sourceware.org/bugzilla/show_bug.cgi?id=19282
9
10The __libc_fork() code reset dl_load_lock, but it also needed to reset
11dl_load_write_lock. The patch has not yet been integrated upstream.
12
13Upstream-Status: Pending [ No Author See bugzilla]
14
15Signed-off-by: Damodar Sonone <damodar.sonone@kpit.com>
16Signed-off-by: Yuanjie Huang <yuanjie.huang@windriver.com>
17Signed-off-by: Khem Raj <raj.khem@gmail.com>
18---
19 sysdeps/nptl/fork.c | 4 ++--
20 1 file changed, 2 insertions(+), 2 deletions(-)
21
22diff --git a/sysdeps/nptl/fork.c b/sysdeps/nptl/fork.c
23index 846fa49ef2..f87506f398 100644
24--- a/sysdeps/nptl/fork.c
25+++ b/sysdeps/nptl/fork.c
26@@ -194,9 +194,9 @@ __libc_fork (void)
27 _IO_list_resetlock ();
28 }
29
30- /* Reset the lock the dynamic loader uses to protect its data. */
31+ /* Reset the locks the dynamic loader uses to protect its data. */
32 __rtld_lock_initialize (GL(dl_load_lock));
33-
34+ __rtld_lock_initialize (GL(dl_load_write_lock));
35 /* Run the handlers registered for the child. */
36 while (allp != NULL)
37 {
38--
392.16.1
40