|
|
1.1 ! root 1: .th FORK II 8/5/73 ! 2: .sh NAME ! 3: fork \*- spawn new process ! 4: .sh SYNOPSIS ! 5: (fork = 2.) ! 6: .br ! 7: .ft B ! 8: sys fork ! 9: .br ! 10: .ft R ! 11: (new process return) ! 12: .br ! 13: (old process return) ! 14: .s3 ! 15: .ft B ! 16: fork( ) ! 17: .ft R ! 18: .sh DESCRIPTION ! 19: .it Fork ! 20: is the only way new processes are created. ! 21: The new process's core image is a copy of ! 22: that of the caller of ! 23: .it fork. ! 24: The only distinction ! 25: is the return location and the fact ! 26: that r0 in the old (parent) process contains the process ID ! 27: of the new (child) process. ! 28: This process ID is used by ! 29: .it wait. ! 30: .s3 ! 31: From C, the returned value is 0 in the child process, ! 32: non-zero in the parent process; however, ! 33: a return of \*-1 indicates inability ! 34: to create a new process. ! 35: .sh "SEE ALSO" ! 36: wait(II), exec(II) ! 37: .sh DIAGNOSTICS ! 38: The error bit ! 39: (c-bit) is set in the old process if a new process ! 40: could not be created because of lack of process space. ! 41: From C, a return of \*-1 (not just negative) ! 42: indicates an error.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.