From: Jan Safranek Date: Fri, 4 Mar 2011 11:06:37 +0000 (+0100) Subject: Fix cgclear to continue unmounting on error X-Git-Tag: v0.38~128 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=750eb71ab45e765f6eed84315b8b5cb7ef508d3e;p=thirdparty%2Flibcgroup.git Fix cgclear to continue unmounting on error Currently when the cgclear stumbles upon a mount point which cannot be removed it exits immediatelly. IMHO it should continue clearing the rest and unmount as much as possible. Signed-off-by: Jan Safranek Acked-by: Dhaval Giani --- diff --git a/src/config.c b/src/config.c index 23e1e430..0f71003f 100644 --- a/src/config.c +++ b/src/config.c @@ -780,8 +780,6 @@ int cgroup_unload_cgroups(void) } error = cgroup_get_controller_begin(&ctrl_handle, &info); - - if (error && error != ECGEOF) { ret = error; goto out_error; @@ -796,10 +794,13 @@ int cgroup_unload_cgroups(void) if (!curr_path) goto out_errno; - ret = cgroup_config_unload_controller(&info); - - if (ret) - goto out_error; + error = cgroup_config_unload_controller(&info); + if (error) { + /* remember the error and continue unloading + * the rest */ + ret = error; + error = 0; + } } error = cgroup_get_controller_next(&ctrl_handle, &info);