Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 118026
b: refs/heads/master
c: 51308ee
h: refs/heads/master
v: v3
  • Loading branch information
Li Zefan authored and Linus Torvalds committed Oct 30, 2008
1 parent b213338 commit f9b0449
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 13 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 00c2e63c31d0f431952ff2a671c5c6997dd4f8b2
refs/heads/master: 51308ee59dee1136ed599d875ea8968d7be55c91
19 changes: 7 additions & 12 deletions trunk/kernel/cgroup_freezer.c
Original file line number Diff line number Diff line change
Expand Up @@ -296,27 +296,22 @@ static int freezer_change_state(struct cgroup *cgroup,
int retval = 0;

freezer = cgroup_freezer(cgroup);

spin_lock_irq(&freezer->lock);

update_freezer_state(cgroup, freezer);
if (goal_state == freezer->state)
goto out;
switch (freezer->state) {

switch (goal_state) {
case CGROUP_THAWED:
retval = try_to_freeze_cgroup(cgroup, freezer);
unfreeze_cgroup(cgroup, freezer);
break;
case CGROUP_FREEZING:
if (goal_state == CGROUP_FROZEN) {
/* Userspace is retrying after
* "/bin/echo FROZEN > freezer.state" returned -EBUSY */
retval = try_to_freeze_cgroup(cgroup, freezer);
break;
}
/* state == FREEZING and goal_state == THAWED, so unfreeze */
case CGROUP_FROZEN:
unfreeze_cgroup(cgroup, freezer);
retval = try_to_freeze_cgroup(cgroup, freezer);
break;
default:
break;
BUG();
}
out:
spin_unlock_irq(&freezer->lock);
Expand Down

0 comments on commit f9b0449

Please sign in to comment.