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>
This commit is contained in:
Andrew Clayton
2022-10-24 14:13:23 +01:00
parent 867a839f10
commit c9e433a13d
4 changed files with 29 additions and 0 deletions

22
auto/cgroup Normal file
View File

@@ -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

View File

@@ -304,6 +304,11 @@ if [ "$NXT_HAVE_CLONE" = "YES" ]; then
fi fi
if [ "$NXT_HAVE_CGROUP" = "YES" ]; then
NXT_LIB_SRCS="$NXT_LIB_SRCS src/nxt_cgroup.c"
fi
if [ "$NXT_TEST_BUILD" = "YES" ]; then if [ "$NXT_TEST_BUILD" = "YES" ]; then
NXT_LIB_SRCS="$NXT_LIB_SRCS $NXT_TEST_BUILD_SRCS" NXT_LIB_SRCS="$NXT_LIB_SRCS $NXT_TEST_BUILD_SRCS"
fi fi

View File

@@ -31,6 +31,7 @@ Unit configuration summary:
NJS support: ............... $NXT_NJS NJS support: ............... $NXT_NJS
process isolation: ......... $NXT_ISOLATION process isolation: ......... $NXT_ISOLATION
cgroupv2: .................. $NXT_HAVE_CGROUP
debug logging: ............. $NXT_DEBUG debug logging: ............. $NXT_DEBUG

1
configure vendored
View File

@@ -129,6 +129,7 @@ if [ $NXT_REGEX = YES ]; then
. auto/pcre . auto/pcre
fi fi
. auto/cgroup
. auto/isolation . auto/isolation
. auto/capability . auto/capability