[hurd,commited] hurd _Fork: Drop duplicate malloc_fork_lock calls

Message ID 20210711175434.2682166-1-samuel.thibault@ens-lyon.org
State Committed, archived
Headers
Series [hurd,commited] hurd _Fork: Drop duplicate malloc_fork_lock calls |

Checks

Context Check Description
dj/TryBot-apply_patch fail Patch failed to apply to master at the time it was sent
dj/TryBot-32bit fail Patch series failed to apply

Commit Message

Samuel Thibault July 11, 2021, 5:54 p.m. UTC
  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(-)
  

Patch

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, ());