CVSROOT: /cvs Module name: src Changes by: guent...@cvs.openbsd.org 2017/02/11 21:55:08
Modified files: share/man/man9 : Makefile fork1.9 sys/sys : proc.h sys/uvm : uvm_extern.h sys/kern : init_main.c kern_fork.c kern_kthread.c kern_sched.c sys/arch/alpha/alpha: vm_machdep.c sys/arch/amd64/amd64: vm_machdep.c sys/arch/arm/arm: vm_machdep.c sys/arch/arm64/arm64: vm_machdep.c sys/arch/hppa/hppa: vm_machdep.c sys/arch/i386/i386: vm_machdep.c sys/arch/m88k/m88k: vm_machdep.c sys/arch/mips64/mips64: vm_machdep.c sys/arch/powerpc/powerpc: vm_machdep.c sys/arch/sh/sh : vm_machdep.c sys/arch/sparc64/sparc64: vm_machdep.c Added files: share/man/man9 : thread_fork.9 Log message: Split up fork1(): - FORK_THREAD handling is a totally separate function, thread_fork(), that is only used by sys___tfork() and which loses the flags, func, arg, and newprocp parameters and gains tcb parameter to guarantee the new thread's TCB is set before the creating thread returns - fork1() loses its stack and tidptr parameters Common bits factor out: - struct proc allocation and initialization moves to thread_new() - maxthread handling moves to fork_check_maxthread() - setting the new thread running moves to fork_thread_start() The MD cpu_fork() function swaps its unused stacksize parameter for a tcb parameter. luna88k testing by aoyama@, alpha testing by dlg@ ok mpi@