File: test_named_hierarchy.c

package info (click to toggle)
libcgroup 3.2.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 4,840 kB
  • sloc: ansic: 15,527; python: 8,219; cpp: 5,652; sh: 5,209; yacc: 470; makefile: 419; lex: 38
file content (48 lines) | stat: -rw-r--r-- 925 bytes parent folder | download
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;
}