patch-2.4.13 linux/init/main.c

Next file: linux/ipc/shm.c
Previous file: linux/include/pcmcia/ss.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.12/linux/init/main.c linux/init/main.c
@@ -777,8 +777,12 @@
 		int i, pid;
 
 		pid = kernel_thread(do_linuxrc, "/linuxrc", SIGCHLD);
-		if (pid>0)
-			while (pid != wait(&i));
+		if (pid > 0) {
+			while (pid != wait(&i)) {
+				current->policy |= SCHED_YIELD;
+				schedule();
+			}
+		}
 		if (MAJOR(real_root_dev) != RAMDISK_MAJOR
 		     || MINOR(real_root_dev) != 0) {
 			error = change_root(real_root_dev,"/initrd");

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)