From 50fa62e94a849b5b8585b7e35782653b2cae1905 Mon Sep 17 00:00:00 2001 From: Dhaval Giani Date: Thu, 14 Aug 2008 11:10:23 +0000 Subject: 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 --- api.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'api.c') diff --git a/api.c b/api.c index a6918a8..56d9af8 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; } -- cgit