]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
encapsulate the ns_cgroup
authorDaniel Lezcano <daniel.lezcano@free.fr>
Fri, 17 Dec 2010 10:43:37 +0000 (11:43 +0100)
committerDaniel Lezcano <dlezcano@fr.ibm.com>
Fri, 17 Dec 2010 10:43:37 +0000 (11:43 +0100)
Create a single API to create a cgroup which will switch to the old
ns_cgroup automatically.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
src/lxc/cgroup.c
src/lxc/cgroup.h
src/lxc/lxc_unshare.c
src/lxc/start.c

index 350d439660adf6c5c0306428b7515a74f84fec0c..4b549065f7d009980cd7d537be625e12f87dc4bf 100644 (file)
@@ -142,6 +142,16 @@ int lxc_unlink_nsgroup(const char *name)
        return ret;
 }
 
+int lxc_cgroup_create(const char *name, pid_t pid)
+{
+       return lxc_rename_nsgroup(name, pid);
+}
+
+int lxc_cgroup_destroy(const char *name)
+{
+       return lxc_unlink_nsgroup(name);
+}
+
 int lxc_cgroup_path_get(char **path, const char *name)
 {
        char cgroup[MAXPATHLEN];
index 905686e4c576c1e011723ab89cfbdece542f8bf5..8607fa8041ebed5ed7cb8cf86bf3ed160b11c3e8 100644 (file)
@@ -26,8 +26,8 @@
 #define MAXPRIOLEN 24
 
 struct lxc_handler;
-int lxc_rename_nsgroup(const char *name, pid_t pid);
-int lxc_unlink_nsgroup(const char *name);
+int lxc_cgroup_create(const char *name, pid_t pid);
+int lxc_cgroup_destroy(const char *name);
 int lxc_cgroup_path_get(char **path, const char *name);
 int lxc_cgroup_nrtasks(const char *name);
 #endif
index 62349eb6ccf5da60cab88348a9d95105dd8eb50b..a82490eefb8ad57c0547567581829cd3ed4e871a 100644 (file)
@@ -214,7 +214,7 @@ int main(int argc, char *argv[])
                ERROR("pid_name: failed to allocate memory");
                return -1;
        }
-       lxc_unlink_nsgroup(pid_name);
+       lxc_cgroup_destroy(pid_name);
        free(pid_name);
 
        return  lxc_error_set_and_log(pid, status);
index 7e17cc5570d460f136d351c312b004e56958a337..b8ceff6bd38451f3a0414edde8e37cbf485537eb 100644 (file)
@@ -506,7 +506,7 @@ int lxc_spawn(struct lxc_handler *handler)
        if (lxc_sync_wait_child(handler, LXC_SYNC_CONFIGURE))
                failed_before_rename = 1;
 
-       if (lxc_rename_nsgroup(name, handler->pid))
+       if (lxc_cgroup_create(name, handler->pid))
                goto out_delete_net;
 
        if (failed_before_rename)
@@ -585,7 +585,7 @@ int __lxc_start(const char *name, struct lxc_conf *conf,
 out_fini:
        LXC_TTY_DEL_HANDLER(SIGQUIT);
        LXC_TTY_DEL_HANDLER(SIGINT);
-       lxc_unlink_nsgroup(name);
+       lxc_cgroup_destroy(name);
        lxc_fini(name, handler);
        return err;