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@

Reply via email to