hurdmalloc: Run fork handler as late as possible [BZ #19431]
authorSamuel Thibault <samuel.thibault@ens-lyon.org>
Wed, 21 Sep 2016 23:45:48 +0000 (01:45 +0200)
committerSamuel Thibault <samuel.thibault@ens-lyon.org>
Wed, 21 Sep 2016 23:45:48 +0000 (01:45 +0200)
commite67f54ab1a6253dd69cb2c770d785c7eb6d2172c
tree69632c1338d0f7f0790b0f1b3a17ac11e9b1847f
parent87ab10d6524fe4faabd7eb3eac5868165ecfb323
hurdmalloc: Run fork handler as late as possible [BZ #19431]

This is the hurd-specific follow-up for
29d794863cd6e03115d3670707cc873a9965ba92 : hurdmalloc also needs the
same fix

* hurd/hurdmalloc.c (malloc_fork_prepare): Rename to
_hurd_malloc_fork_prepare.
(malloc_fork_parent): Rename to _hurd_malloc_fork_parent.
(malloc_fork_child): Rename to _hurd_malloc_fork_child.
(_hurd_fork_prepare_hook): Drop malloc_fork_prepare.
(_hurd_fork_parent_hook): Drop malloc_fork_parent.
(_hurd_fork_child_hook): Drop malloc_fork_child.
* hurd/hurdmalloc.h (_hurd_malloc_fork_prepare,
_hurd_malloc_fork_parent, _hurd_malloc_fork_child): Add declarations.
* sysdeps/mach/hurd/fork.c (__fork): Call __malloc_fork_lock_parent
after locking locks (notably hurd_dtable_lock). Call
_hurd_malloc_fork_prepare after that. Call _hurd_malloc_fork_parent
before __malloc_fork_unlock_parent and _hurd_malloc_fork_child before
__malloc_fork_unlock_child.
ChangeLog
hurd/hurdmalloc.c
hurd/hurdmalloc.h
sysdeps/mach/hurd/fork.c