Lines Matching refs:pidfd
30 static pid_t pidfd_clone(int flags, int *pidfd, int (*fn)(void *)) in pidfd_clone() argument
36 return __clone2(fn, stack, stack_size, flags | SIGCHLD, NULL, pidfd); in pidfd_clone()
38 return clone(fn, stack + stack_size, flags | SIGCHLD, NULL, pidfd); in pidfd_clone()
56 int pidfd, ret; in test_pidfd_send_signal_simple_success() local
59 pidfd = open("/proc/self", O_DIRECTORY | O_CLOEXEC); in test_pidfd_send_signal_simple_success()
60 if (pidfd < 0) in test_pidfd_send_signal_simple_success()
67 ret = sys_pidfd_send_signal(pidfd, SIGUSR1, NULL, 0); in test_pidfd_send_signal_simple_success()
68 close(pidfd); in test_pidfd_send_signal_simple_success()
84 int pidfd, ret, saved_errno; in test_pidfd_send_signal_exited_fail() local
99 pidfd = open(buf, O_DIRECTORY | O_CLOEXEC); in test_pidfd_send_signal_exited_fail()
103 if (pidfd < 0) in test_pidfd_send_signal_exited_fail()
108 ret = sys_pidfd_send_signal(pidfd, 0, NULL, 0); in test_pidfd_send_signal_exited_fail()
110 close(pidfd); in test_pidfd_send_signal_exited_fail()
165 int pidfd = -1; in test_pidfd_send_signal_recycled_pid_fail() local
184 pidfd = open(buf, O_DIRECTORY | O_CLOEXEC); in test_pidfd_send_signal_recycled_pid_fail()
200 close(pidfd); in test_pidfd_send_signal_recycled_pid_fail()
204 if (pidfd < 0) in test_pidfd_send_signal_recycled_pid_fail()
247 ret = sys_pidfd_send_signal(pidfd, SIGCONT, in test_pidfd_send_signal_recycled_pid_fail()
317 int pidfd, ret; in test_pidfd_send_signal_syscall_support() local
320 pidfd = open("/proc/self", O_DIRECTORY | O_CLOEXEC); in test_pidfd_send_signal_syscall_support()
321 if (pidfd < 0) in test_pidfd_send_signal_syscall_support()
326 ret = sys_pidfd_send_signal(pidfd, 0, NULL, 0); in test_pidfd_send_signal_syscall_support()
337 close(pidfd); in test_pidfd_send_signal_syscall_support()
357 static void poll_pidfd(const char *test_name, int pidfd) in poll_pidfd() argument
369 event.data.fd = pidfd; in poll_pidfd()
371 if (epoll_ctl(epoll_fd, EPOLL_CTL_ADD, pidfd, &event)) { in poll_pidfd()
405 int pid, pidfd = 0; in test_pidfd_poll_exec() local
412 pid = pidfd_clone(CLONE_PIDFD, &pidfd, child_poll_exec_test); in test_pidfd_poll_exec()
427 poll_pidfd(test_name, pidfd); in test_pidfd_poll_exec()
434 close(pidfd); in test_pidfd_poll_exec()
470 int pid, pidfd = 0; in test_pidfd_poll_leader_exit() local
484 pid = pidfd_clone(CLONE_PIDFD, &pidfd, child_poll_leader_exit_test); in test_pidfd_poll_leader_exit()
502 poll_pidfd(test_name, pidfd); in test_pidfd_poll_leader_exit()
512 close(pidfd); in test_pidfd_poll_leader_exit()