This patch adds a function to count the number of tasks in the
container.

Signed-off-by: Daniel Lezcano <dlezc...@fr.ibm.com>
---
 src/lxc/cgroup.c |   27 +++++++++++++++++++++++++++
 src/lxc/cgroup.h |    2 +-
 2 files changed, 28 insertions(+), 1 deletion(-)

Index: lxc/src/lxc/cgroup.c
===================================================================
--- lxc.orig/src/lxc/cgroup.c
+++ lxc/src/lxc/cgroup.c
@@ -219,3 +219,30 @@ int lxc_cgroup_get(const char *name, con
        close(fd);
        return ret;
 }
+
+int lxc_cgroup_nrtasks(const char *name)
+{
+       char *nsgroup;
+       char path[MAXPATHLEN];
+       int pid, ret, count = 0;
+       FILE *file;
+
+       ret = lxc_cgroup_path_get(&nsgroup, name);
+       if (ret)
+               return -1;
+
+        snprintf(path, MAXPATHLEN, "%s/tasks", nsgroup);
+
+       file = fopen(path, "r");
+       if (!file) {
+               SYSERROR("fopen '%s' failed", path);
+               return -1;
+       }
+
+       while (fscanf(file, "%d", &pid) != EOF)
+               count++;
+
+       fclose(file);
+
+       return count;
+}
Index: lxc/src/lxc/cgroup.h
===================================================================
--- lxc.orig/src/lxc/cgroup.h
+++ lxc/src/lxc/cgroup.h
@@ -29,5 +29,5 @@ struct lxc_handler;
 int lxc_rename_nsgroup(const char *name, struct lxc_handler *handler);
 int lxc_unlink_nsgroup(const char *name);
 int lxc_cgroup_path_get(char **path, const char *name);
-
+int lxc_cgroup_nrtasks(const char *name);
 #endif


------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
Lxc-devel mailing list
Lxc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxc-devel

Reply via email to