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

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