From 83b7008e11f6d149f1926970b7c21cc50ce536ed Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 11 Jul 2021 17:51:12 +0000 Subject: 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. --- sysdeps/mach/hurd/_Fork.c | 3 --- 1 file changed, 3 deletions(-) (limited to 'sysdeps/mach/hurd/_Fork.c') 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, ()); -- cgit 1.4.1