summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAndrew Clayton <a.clayton@nginx.com>2022-10-24 14:13:23 +0100
committerAndrew Clayton <a.clayton@nginx.com>2022-12-10 14:00:20 +0000
commitc9e433a13d0e3a9d580891f83fd5fe7f640492b7 (patch)
treec8f296c5761bf4325ae4df598ff0700e9bbfed23
parent867a839f103bf7859b76eb98cfc28e7f0155dd1b (diff)
downloadunit-c9e433a13d0e3a9d580891f83fd5fe7f640492b7.tar.gz
unit-c9e433a13d0e3a9d580891f83fd5fe7f640492b7.tar.bz2
Isolation: wired up cgroup to build system.
This commit enables the building of the cgroup code. This is only built when the cgroupv2 filesystem is found. If cgroupv2 support is found then cgroupv2: .................. YES will be printed by ./configure Reviewed-by: Alejandro Colomar <alx@nginx.com> Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
-rw-r--r--auto/cgroup22
-rw-r--r--auto/sources5
-rw-r--r--auto/summary1
-rwxr-xr-xconfigure1
4 files changed, 29 insertions, 0 deletions
diff --git a/auto/cgroup b/auto/cgroup
new file mode 100644
index 00000000..2262b2ef
--- /dev/null
+++ b/auto/cgroup
@@ -0,0 +1,22 @@
+# Copyright (C) Andrew Clayton
+# Copyright (C) F5, Inc.
+
+NXT_HAVE_CGROUP=NO
+
+if [ -f "/proc/mounts" ]; then
+ CGROUP=$(grep cgroup2 /proc/mounts | head -n 1 | cut -d " " -f 2)
+
+ if [ "$CGROUP" ]; then
+ NXT_HAVE_CGROUP=YES
+
+ cat << END >> $NXT_AUTO_CONFIG_H
+
+#ifndef NXT_HAVE_CGROUP
+#define NXT_HAVE_CGROUP 1
+#define NXT_CGROUP_ROOT "$CGROUP"
+#endif
+
+END
+
+ fi
+fi
diff --git a/auto/sources b/auto/sources
index cebced3a..29f3c7b5 100644
--- a/auto/sources
+++ b/auto/sources
@@ -304,6 +304,11 @@ if [ "$NXT_HAVE_CLONE" = "YES" ]; then
fi
+if [ "$NXT_HAVE_CGROUP" = "YES" ]; then
+ NXT_LIB_SRCS="$NXT_LIB_SRCS src/nxt_cgroup.c"
+fi
+
+
if [ "$NXT_TEST_BUILD" = "YES" ]; then
NXT_LIB_SRCS="$NXT_LIB_SRCS $NXT_TEST_BUILD_SRCS"
fi
diff --git a/auto/summary b/auto/summary
index c8a49d08..51db0eae 100644
--- a/auto/summary
+++ b/auto/summary
@@ -31,6 +31,7 @@ Unit configuration summary:
NJS support: ............... $NXT_NJS
process isolation: ......... $NXT_ISOLATION
+ cgroupv2: .................. $NXT_HAVE_CGROUP
debug logging: ............. $NXT_DEBUG
diff --git a/configure b/configure
index c21973eb..1d897f1d 100755
--- a/configure
+++ b/configure
@@ -129,6 +129,7 @@ if [ $NXT_REGEX = YES ]; then
. auto/pcre
fi
+. auto/cgroup
. auto/isolation
. auto/capability