| 947 | |
| 948 | |
| 949 | Try<Nothing> isolate( |
| 950 | const string& hierarchy, |
| 951 | const string& cgroup, |
| 952 | pid_t pid) |
| 953 | { |
| 954 | // Create cgroup if necessary. |
| 955 | if (!cgroups::exists(hierarchy, cgroup)) { |
| 956 | Try<Nothing> create = cgroups::create(hierarchy, cgroup, true); |
| 957 | if (create.isError()) { |
| 958 | return Error("Failed to create cgroup: " + create.error()); |
| 959 | } |
| 960 | } |
| 961 | |
| 962 | Try<Nothing> assign = cgroups::assign(hierarchy, cgroup, pid); |
| 963 | if (assign.isError()) { |
| 964 | return Error("Failed to assign process to cgroup: " + assign.error()); |
| 965 | } |
| 966 | |
| 967 | return Nothing(); |
| 968 | } |
| 969 | |
| 970 | |
| 971 | namespace event { |