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