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)) {

Attachment: patch_2of3_lxc_cgroup_append_task_helper_namespace
Description: Binary data

------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2dcopy1
_______________________________________________
Lxc-devel mailing list
Lxc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxc-devel

Reply via email to