[lxc-devel] [PATCH] lxc_cgroup_append_task_2of3() helper_2of2
"Axel Schöner"
axel.schoener at gmx.de
Thu Oct 6 13:00:04 UTC 2011
diff --git a/src/lxc/namespace.h b/src/lxc/namespace.h
index 9c6b7ec..cda6c50 100644
--- a/src/lxc/namespace.h
+++ b/src/lxc/namespace.h
@@ -49,6 +49,7 @@
#endif
extern pid_t lxc_clone(int (*fn)(void *), void *arg, int flags);
-extern int lxc_attach(pid_t pid);
+extern int lxc_attach(pid_t pid, const char* cgname);
+extern int lxc_cgroup_append_task(const char *name, pid_t pid);
#endif
diff --git a/src/lxc/namespace.c b/src/lxc/namespace.c
index aca29d4..86d1e53 100644
--- a/src/lxc/namespace.c
+++ b/src/lxc/namespace.c
@@ -82,7 +82,7 @@ pid_t lxc_clone(int (*fn)(void *), void *arg, int flags)
return ret;
}
-int lxc_attach(pid_t pid)
+int lxc_attach(pid_t pid, const char* cgname)
{
char path[MAXPATHLEN];
char *ns[] = { "pid", "mnt", "net", "ipc", "uts" };
@@ -104,6 +104,13 @@ int lxc_attach(pid_t pid)
return -1;
}
}
+ pid_t cpid = getpid();
+
+ /* Let's add the pid to the 'tasks' file */
+ if (lxc_cgroup_append_task(cgname, cpid)) {
+ SYSERROR("failed to attach pid '%d' to '%s'", cpid, cgname);
+ return -1;
+ }
for (i = 0; i < size; i++) {
if (setns(fd[i], 0)) {
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch_2of3_lxc_cgroup_append_task_helper_namespace
Type: application/octet-stream
Size: 1114 bytes
Desc: not available
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20111006/c2b88d40/attachment.obj>
More information about the lxc-devel
mailing list