diff options
| author | Laurent Bercot <ska-skaware@skarnet.org> | 2025-10-20 08:36:07 +0000 |
|---|---|---|
| committer | Laurent Bercot <ska-skaware@skarnet.org> | 2025-10-20 08:36:07 +0000 |
| commit | 4945adc1fffd0641a0a273bcedeb52f3bba653bf (patch) | |
| tree | b342f8b3192aa87cab28ed5125747c7d98905204 /src/sysdeps | |
| parent | d3b6eb8ac87b20b11f19413eaf711cbba23ff790 (diff) | |
| download | skalibs-4945adc1fffd0641a0a273bcedeb52f3bba653bf.tar.gz | |
More sysdeps
Diffstat (limited to 'src/sysdeps')
| -rw-r--r-- | src/sysdeps/trykevent.c | 19 | ||||
| -rw-r--r-- | src/sysdeps/trypidfd_open.c | 9 | ||||
| -rw-r--r-- | src/sysdeps/tryprsetchildsubreaper.c | 12 |
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 ; +} |
