patch-1.3.26 linux/arch/alpha/kernel/process.c
Next file: linux/arch/alpha/kernel/signal.c
Previous file: linux/arch/alpha/kernel/irq.c
Back to the patch index
Back to the overall index
-  Lines: 24
 -  Date:
Wed Sep 13 10:08:38 1995
 -  Orig file: 
v1.3.25/linux/arch/alpha/kernel/process.c
 -  Orig date: 
Sun Sep  3 12:26:48 1995
 
diff -u --recursive --new-file v1.3.25/linux/arch/alpha/kernel/process.c linux/arch/alpha/kernel/process.c
@@ -84,14 +84,20 @@
 }
 
 /*
- * "alpha_fork()".. By the time we get here, the
+ * "alpha_clone()".. By the time we get here, the
  * non-volatile registers have also been saved on the
  * stack. We do some ugly pointer stuff here.. (see
  * also copy_thread)
+ *
+ * Notice that "fork()" is implemented in terms of clone,
+ * with parameters (SIGCHLD, 0).
  */
-int alpha_fork(struct switch_stack * swstack)
+int alpha_clone(unsigned long clone_flags, unsigned long usp,
+	struct switch_stack * swstack)
 {
-	return do_fork(SIGCHLD, rdusp(), (struct pt_regs *) (swstack+1));
+	if (!usp)
+		usp = rdusp();
+	return do_fork(clone_flags, usp, (struct pt_regs *) (swstack+1));
 }
 
 extern void ret_from_sys_call(void);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov
with Sam's (original) version of this