git: libc - Implement sigblockall() and sigunblockall() (2)
Matthew Dillon
dillon at crater.dragonflybsd.org
Tue Nov 12 00:12:32 PST 2019
commit 4aa6d05c7b9c6f3ba9ca9286bc46f7e51679b9b3
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Mon Nov 11 21:38:33 2019 -0800
libc - Implement sigblockall() and sigunblockall() (2)
* Cleanup the logic a bit. Store the lwp or proc pointer
in the vm_map_backing structure and make vm_map_fork()
and friends more aware of it.
* Rearrange lwp allocation in [v]fork() to make the pointer(s)
available to vm_fork().
* Put the thread mappings on the lwp's list immediately rather
than waiting for the first fault, which means that per-thread
mappings will be deterministically removed on thread exit
whether any faults happened or not.
* Adjust vmspace_fork*() functions to not propagate 'dead' lwp
mappings for threads that won't exist in the forked process.
Only the lwp mappings for the thread doing the [v]fork() is
retained.
Summary of changes:
sys/kern/imgact_resident.c | 2 +-
sys/kern/kern_fork.c | 4 +-
sys/kern/kern_memio.c | 142 ++++++++++++++++++--------------------------
sys/kern/kern_proc.c | 2 -
sys/platform/pc64/vmm/vmx.c | 2 +-
sys/vm/vm_extern.h | 5 +-
sys/vm/vm_glue.c | 27 ++++++---
sys/vm/vm_map.c | 131 ++++++++++++++++++++++++++++++++--------
sys/vm/vm_map.h | 1 -
9 files changed, 191 insertions(+), 125 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/4aa6d05c7b9c6f3ba9ca9286bc46f7e51679b9b3
--
DragonFly BSD source repository
More information about the Commits
mailing list