From 6dc6d368504135c1d2a7113235962e5fab146e01 Mon Sep 17 00:00:00 2001 From: "Rafael J. Wysocki" Date: Thu, 19 Jul 2007 01:47:34 -0700 Subject: [PATCH] --- yaml --- r: 61546 b: refs/heads/master c: e7cd8a722745a01bcfac4d4a52d53391d177da20 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/kernel/power/process.c | 21 +++++++++------------ 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/[refs] b/[refs] index d2324e9b824e..d4fc46fdf0a6 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f4a3a7d60c9c9a961e4c970f6eb41dd1c9d3ec21 +refs/heads/master: e7cd8a722745a01bcfac4d4a52d53391d177da20 diff --git a/trunk/kernel/power/process.c b/trunk/kernel/power/process.c index 9b5301c73b83..00cdbe5f518f 100644 --- a/trunk/kernel/power/process.c +++ b/trunk/kernel/power/process.c @@ -105,7 +105,7 @@ static void cancel_freezing(struct task_struct *p) } } -static unsigned int try_to_freeze_tasks(int freeze_user_space) +static int try_to_freeze_tasks(int freeze_user_space) { struct task_struct *g, *p; unsigned long end_time; @@ -176,28 +176,25 @@ static unsigned int try_to_freeze_tasks(int freeze_user_space) read_unlock(&tasklist_lock); } - return todo; + return todo ? -EBUSY : 0; } /** * freeze_processes - tell processes to enter the refrigerator - * - * Returns 0 on success, or the number of processes that didn't freeze, - * although they were told to. */ int freeze_processes(void) { - unsigned int nr_unfrozen; + int error; printk("Stopping tasks ... "); - nr_unfrozen = try_to_freeze_tasks(FREEZER_USER_SPACE); - if (nr_unfrozen) - return nr_unfrozen; + error = try_to_freeze_tasks(FREEZER_USER_SPACE); + if (error) + return error; sys_sync(); - nr_unfrozen = try_to_freeze_tasks(FREEZER_KERNEL_THREADS); - if (nr_unfrozen) - return nr_unfrozen; + error = try_to_freeze_tasks(FREEZER_KERNEL_THREADS); + if (error) + return error; printk("done.\n"); BUG_ON(in_atomic());