aboutsummaryrefslogtreecommitdiffstats
path: root/src/sysdeps
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2025-10-20 08:36:07 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2025-10-20 08:36:07 +0000
commit4945adc1fffd0641a0a273bcedeb52f3bba653bf (patch)
treeb342f8b3192aa87cab28ed5125747c7d98905204 /src/sysdeps
parentd3b6eb8ac87b20b11f19413eaf711cbba23ff790 (diff)
downloadskalibs-4945adc1fffd0641a0a273bcedeb52f3bba653bf.tar.gz
More sysdeps
Diffstat (limited to 'src/sysdeps')
-rw-r--r--src/sysdeps/trykevent.c19
-rw-r--r--src/sysdeps/trypidfd_open.c9
-rw-r--r--src/sysdeps/tryprsetchildsubreaper.c12
3 files changed, 40 insertions, 0 deletions
diff --git a/src/sysdeps/trykevent.c b/src/sysdeps/trykevent.c
new file mode 100644
index 0000000..8c54f4d
--- /dev/null
+++ b/src/sysdeps/trykevent.c
@@ -0,0 +1,19 @@
+/* ISC license. */
+
+#undef _POSIX_C_SOURCE
+#undef _XOPEN_SOURCE
+
+#include <sys/types.h>
+#include <sys/event.h>
+#include <sys/time.h>
+#include <unistd.h>
+
+int main (void)
+{
+ int q = kqueue() ;
+ struct kevent ke ;
+ struct timespec ts = { .tv_sec = 1, .tv_nsec = 0 } ;
+ EV_SET(&ke, getpid(), EVFILT_PROC, EV_ADD, NOTE_EXIT, 0, 0) ;
+ kevent(q, &ke, 1, &ke, 1, &ts) ;
+ return 0 ;
+}
diff --git a/src/sysdeps/trypidfd_open.c b/src/sysdeps/trypidfd_open.c
new file mode 100644
index 0000000..8840742
--- /dev/null
+++ b/src/sysdeps/trypidfd_open.c
@@ -0,0 +1,9 @@
+/* ISC license. */
+
+#undef _POSIX_C_SOURCE
+#undef _XOPEN_SOURCE
+
+#include <sys/syscall.h>
+#include <unistd.h>
+
+static long a = SYS_pidfd_open ;
diff --git a/src/sysdeps/tryprsetchildsubreaper.c b/src/sysdeps/tryprsetchildsubreaper.c
new file mode 100644
index 0000000..6a65691
--- /dev/null
+++ b/src/sysdeps/tryprsetchildsubreaper.c
@@ -0,0 +1,12 @@
+/* ISC license. */
+
+#undef _POSIX_C_SOURCE
+#undef _XOPEN_SOURCE
+
+#include <sys/prctl.h>
+
+int main (void)
+{
+ prctl(PR_SET_CHILD_SUBREAPER, 1) ;
+ return 0 ;
+}