From: Dhaval Giani Date: Thu, 14 Aug 2008 11:10:23 +0000 (+0000) Subject: libcgroup: Fix the delete API X-Git-Tag: v0.34~243 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=50fa62e94a849b5b8585b7e35782653b2cae1905;p=thirdparty%2Flibcgroup.git libcgroup: Fix the delete API The delete call was returning a wrong value even on success. The reason was because in the fallback path, we try to delete all the groups again. Now it is possible that a group might have already been deleted and we return a wrong value. Change the API to check if the group exists before trying to rmdir it in the error path. Signed-off-by: Dhaval Giani Acked-by: Balbir Singh git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@145 4f4bb910-9a46-0410-90c8-c897d4f1cd53 --- diff --git a/api.c b/api.c index a6918a8d..56d9af8e 100644 --- a/api.c +++ b/api.c @@ -691,8 +691,13 @@ base_open_err: cgroup->controller[i]->name)) continue; error = rmdir(path); + if (error < 0 && errno == ENOENT) + error = 0; } } + if (error) + return ECGOTHER; + return error; }