diff options
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 ; +} |
