diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2021-07-11 17:51:12 +0000 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2021-07-11 17:52:52 +0000 |
commit | 83b7008e11f6d149f1926970b7c21cc50ce536ed (patch) | |
tree | d318debde837039f0c1bb411bb1a31754d646283 | |
parent | 17cef890c95a71671ec80b1daac88aef7ca46a90 (diff) | |
download | glibc-83b7008e11f6d149f1926970b7c21cc50ce536ed.tar.gz glibc-83b7008e11f6d149f1926970b7c21cc50ce536ed.tar.xz 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.c | 3 |
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, ()); |