diff options
-rw-r--r-- | init/do_mounts_initrd.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/init/do_mounts_initrd.c b/init/do_mounts_initrd.c index 2cfd7cb36e7..b222ce9e1c8 100644 --- a/init/do_mounts_initrd.c +++ b/init/do_mounts_initrd.c @@ -55,11 +55,12 @@ static void __init handle_initrd(void) sys_mount(".", "/", NULL, MS_MOVE, NULL); sys_chroot("."); - current->flags |= PF_NOFREEZE; pid = kernel_thread(do_linuxrc, "/linuxrc", SIGCHLD); if (pid > 0) { - while (pid != sys_wait4(-1, NULL, 0, NULL)) + while (pid != sys_wait4(-1, NULL, 0, NULL)) { + try_to_freeze(); yield(); + } } /* move initrd to rootfs' /old */ |