From b41f7406424e0b3f2d069e2c9c9f3e925c42c67e Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Wed, 22 Oct 2025 14:13:58 +0000 Subject: Change prsetchildsubreaper sysdep to prctl, add procctl sysdep --- configure | 3 ++- package/deps.mak | 5 +++++ src/sysdeps/tryprctl.c | 12 ++++++++++++ src/sysdeps/tryprocctl.c | 12 ++++++++++++ src/sysdeps/tryprsetchildsubreaper.c | 12 ------------ 5 files changed, 31 insertions(+), 13 deletions(-) create mode 100644 src/sysdeps/tryprctl.c create mode 100644 src/sysdeps/tryprocctl.c delete mode 100644 src/sysdeps/tryprsetchildsubreaper.c diff --git a/configure b/configure index 9f89a61..f873524 100755 --- a/configure +++ b/configure @@ -718,8 +718,9 @@ choose cl _nsgetexecutablepath '_NSGetExecutablePath()' choose cl getexecname 'getexecname()' choose cl dladdr 'dladdr()' choose c pidfd_open 'pidfd_open()' +choose cl prctl 'prctl()' +choose cl procctl 'procctl()' choose cl kevent 'kevent()' -choose cl prsetchildsubreaper 'PR_SET_CHILD_SUBREAPER' # Here are the evil irreducible run-time sysdeps. choose clr devurandom '/dev/urandom' diff --git a/package/deps.mak b/package/deps.mak index 90fb52a..95cf7c4 100644 --- a/package/deps.mak +++ b/package/deps.mak @@ -30,6 +30,8 @@ src/include/skalibs/genset.h: src/include/skalibs/functypes.h src/include/skalibs/gensetdyn.h: src/include/skalibs/functypes.h src/include/skalibs/genalloc.h src/include/skalibs/stralloc.h src/include/skalibs/gol.h: src/include/skalibs/uint64.h src/include/skalibs/iopause.h: src/include/skalibs/tai.h +src/include/skalibs/ip46.h: src/include/skalibs/fmtscan.h src/include/skalibs/socket.h src/include/skalibs/tai.h +src/include/skalibs/keventbridge.h: src/include/skalibs/sysdeps.h src/include/skalibs/kolbak.h: src/include/skalibs/unixmessage.h src/include/skalibs/lolstdio.h: src/include/skalibs/bufalloc.h src/include/skalibs/buffer.h src/include/skalibs/strerr.h src/include/skalibs/netstring.h: src/include/skalibs/buffer.h src/include/skalibs/stralloc.h @@ -53,6 +55,9 @@ src/include/skalibs/strerr2.h: src/include/skalibs/strerr.h src/include/skalibs/tai.h: src/include/skalibs/gccattributes.h src/include/skalibs/uint64.h src/include/skalibs/textclient.h: src/include/skalibs/allreadwrite.h src/include/skalibs/tai.h src/include/skalibs/textmessage.h src/include/skalibs/textmessage.h: src/include/skalibs/allreadwrite.h src/include/skalibs/bufalloc.h src/include/skalibs/buffer.h src/include/skalibs/gccattributes.h src/include/skalibs/stralloc.h src/include/skalibs/tai.h +src/include/skalibs/types.h: src/include/skalibs/uint16.h src/include/skalibs/uint32.h src/include/skalibs/uint64.h +src/include/skalibs/uint16.h: src/include/skalibs/uint64.h +src/include/skalibs/uint32.h: src/include/skalibs/uint64.h src/include/skalibs/unix-timed.h: src/include/skalibs/bufalloc.h src/include/skalibs/buffer.h src/include/skalibs/functypes.h src/include/skalibs/stralloc.h src/include/skalibs/tai.h src/include/skalibs/unix-transactional.h: src/include/skalibs/direntry.h src/include/skalibs/gccattributes.h src/include/skalibs/stralloc.h src/include/skalibs/unixconnection.h: src/include/skalibs/unixmessage.h diff --git a/src/sysdeps/tryprctl.c b/src/sysdeps/tryprctl.c new file mode 100644 index 0000000..6a65691 --- /dev/null +++ b/src/sysdeps/tryprctl.c @@ -0,0 +1,12 @@ +/* ISC license. */ + +#undef _POSIX_C_SOURCE +#undef _XOPEN_SOURCE + +#include + +int main (void) +{ + prctl(PR_SET_CHILD_SUBREAPER, 1) ; + return 0 ; +} diff --git a/src/sysdeps/tryprocctl.c b/src/sysdeps/tryprocctl.c new file mode 100644 index 0000000..1acb3ad --- /dev/null +++ b/src/sysdeps/tryprocctl.c @@ -0,0 +1,12 @@ +/* ISC license. */ + +#undef _POSIX_C_SOURCE +#undef _XOPEN_SOURCE + +#include + +int main (void) +{ + procctl(P_PID, 0, PROC_REAP_ACQUIRE, 0) ; + return 0 ; +} diff --git a/src/sysdeps/tryprsetchildsubreaper.c b/src/sysdeps/tryprsetchildsubreaper.c deleted file mode 100644 index 6a65691..0000000 --- a/src/sysdeps/tryprsetchildsubreaper.c +++ /dev/null @@ -1,12 +0,0 @@ -/* ISC license. */ - -#undef _POSIX_C_SOURCE -#undef _XOPEN_SOURCE - -#include - -int main (void) -{ - prctl(PR_SET_CHILD_SUBREAPER, 1) ; - return 0 ; -} -- cgit v1.3.1