From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1792) id 8F2633840002; Sun, 11 Jul 2021 17:54:01 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8F2633840002 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Samuel Thibault To: glibc-cvs@sourceware.org Subject: [glibc] hurd _Fork: Drop duplicate malloc_fork_lock calls X-Act-Checkin: glibc X-Git-Author: Samuel Thibault X-Git-Refname: refs/heads/master X-Git-Oldrev: 17cef890c95a71671ec80b1daac88aef7ca46a90 X-Git-Newrev: 83b7008e11f6d149f1926970b7c21cc50ce536ed Message-Id: <20210711175401.8F2633840002@sourceware.org> Date: Sun, 11 Jul 2021 17:54:01 +0000 (GMT) X-BeenThere: glibc-cvs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Glibc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Jul 2021 17:54:01 -0000 https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=83b7008e11f6d149f1926970b7c21cc50ce536ed commit 83b7008e11f6d149f1926970b7c21cc50ce536ed Author: Samuel Thibault Date: Sun Jul 11 17:51:12 2021 +0000 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. Diff: --- sysdeps/mach/hurd/_Fork.c | 3 --- 1 file changed, 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, ());