aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2021-07-11 17:51:12 +0000
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2021-07-11 17:52:52 +0000
commit83b7008e11f6d149f1926970b7c21cc50ce536ed (patch)
treed318debde837039f0c1bb411bb1a31754d646283
parent17cef890c95a71671ec80b1daac88aef7ca46a90 (diff)
downloadglibc-83b7008e11f6d149f1926970b7c21cc50ce536ed.tar
glibc-83b7008e11f6d149f1926970b7c21cc50ce536ed.tar.gz
glibc-83b7008e11f6d149f1926970b7c21cc50ce536ed.tar.bz2
glibc-83b7008e11f6d149f1926970b7c21cc50ce536ed.zip
hurd _Fork: Drop duplicate malloc_fork_lock calls
This was put in __libc_fork by c32c868ab8b2 ("posix: Add _Fork [BZ #4737]") so we need to avoid locking them again in _Fork called by __libc_lock, otherwise we deadlock.
-rw-r--r--sysdeps/mach/hurd/_Fork.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/sysdeps/mach/hurd/_Fork.c b/sysdeps/mach/hurd/_Fork.c
index df4ee05faa..75d45d6cad 100644
--- a/sysdeps/mach/hurd/_Fork.c
+++ b/sysdeps/mach/hurd/_Fork.c
@@ -119,7 +119,6 @@ retry:
handlers may use malloc, and the libio list lock has an
indirect malloc dependency as well (via the getdelim
function). */
- call_function_static_weak (__malloc_fork_lock_parent);
_hurd_malloc_fork_prepare ();
newtask = MACH_PORT_NULL;
@@ -588,7 +587,6 @@ retry:
/* Release malloc locks. */
_hurd_malloc_fork_parent ();
- call_function_static_weak (__malloc_fork_unlock_parent);
/* Run things that want to run in the parent to restore it to
normality. Usually prepare hooks and parent hooks are
@@ -662,7 +660,6 @@ retry:
/* Release malloc locks. */
_hurd_malloc_fork_child ();
- call_function_static_weak (__malloc_fork_unlock_child);
/* Run things that want to run in the child task to set up. */
RUN_HOOK (_hurd_fork_child_hook, ());