diff options
author | Rafael J. Wysocki <rjw@sisk.pl> | 2007-05-07 01:50:46 +0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-07 23:12:59 +0400 |
commit | 726162b5dad154a90dad51c0185b891312de5757 (patch) | |
tree | b2313cdd19951206229889569781549777c0bfb0 | |
parent | 0709db6072c2e799eba1aa61bd19e0d7f38aa2cd (diff) | |
download | linux-726162b5dad154a90dad51c0185b891312de5757.tar.xz |
freezer: remove PF_NOFREEZE from handle_initrd
Make handle_initrd() call try_to_freeze() in a suitable place instead of setting
PF_NOFREEZE for the current task.
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Nigel Cunningham <nigel@nigel.suspend2.net>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-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 2cfd7cb36e79..b222ce9e1c8b 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 */ |