1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
// SPDX-License-Identifier: LGPL-2.1-only
#include <libcgroup.h>
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
/*
* Assumes cgroup is mounted at /cgroup using
* mount -t cgroup -o none,name=test none /cgroup
*/
int main(void)
{
struct cgroup_controller *cgc;
struct cgroup *cgrp;
int ret;
ret = cgroup_init();
if (ret) {
printf("FAIL: cgroup_init failed with %s\n", cgroup_strerror(ret));
exit(3);
}
cgrp = cgroup_new_cgroup("test");
if (!cgrp) {
printf("FAIL: cgroup_new_cgroup failed\n");
exit(3);
}
cgc = cgroup_add_controller(cgrp, "name=test");
if (!cgc) {
printf("FAIL: cgroup_add_controller failed\n");
exit(3);
}
ret = cgroup_create_cgroup(cgrp, 1);
if (ret) {
printf("FAIL: cgroup_create_cgroup failed with %s\n", cgroup_strerror(ret));
exit(3);
}
if (access("/cgroup/test", F_OK))
printf("PASS\n");
else
printf("Failed to create cgroup\n");
return 0;
}
|