diff --git a/src/core/slice.c b/src/core/slice.c index 38a2805200..f4f63fcb5b 100644 --- a/src/core/slice.c +++ b/src/core/slice.c @@ -403,7 +403,7 @@ static int slice_freezer_action(Unit *s, FreezerAction action) { if (r < 0) return r; - return 0; + return 1; } static int slice_freeze(Unit *s) { diff --git a/test/units/testsuite-38.sh b/test/units/testsuite-38.sh index 6fcadb8f8e..18b7bd6dce 100755 --- a/test/units/testsuite-38.sh +++ b/test/units/testsuite-38.sh @@ -246,6 +246,8 @@ test_preserve_state() { echo -n " - freeze from outside: " echo 1 > /sys/fs/cgroup/"${slice}"/cgroup.freeze + # Give kernel some time to freeze the slice + sleep 1 # Our state should not be affected check_freezer_state "${slice}" "running" @@ -258,6 +260,8 @@ test_preserve_state() { echo -n " - thaw from outside: " echo 0 > /sys/fs/cgroup/"${slice}"/cgroup.freeze + sleep 1 + check_freezer_state "${unit}" "running" check_freezer_state "${slice}" "running" grep -q "frozen 0" /sys/fs/cgroup/"${slice}"/cgroup.events