2019-11-25 14:31:20 -06:00
|
|
|
#ifndef UTIL_LINUX_PIDFD_UTILS
|
|
|
|
#define UTIL_LINUX_PIDFD_UTILS
|
|
|
|
|
2020-02-15 15:12:50 -06:00
|
|
|
#if defined(__linux__)
|
2019-11-25 14:31:20 -06:00
|
|
|
# include <sys/syscall.h>
|
2020-03-10 05:43:16 -05:00
|
|
|
# if defined(SYS_pidfd_send_signal) && defined(SYS_pidfd_open)
|
2020-02-15 15:12:50 -06:00
|
|
|
# include <sys/types.h>
|
2019-12-09 05:22:31 -06:00
|
|
|
|
2020-03-10 05:43:16 -05:00
|
|
|
# ifndef HAVE_PIDFD_SEND_SIGNAL
|
2019-11-25 14:31:20 -06:00
|
|
|
static inline int pidfd_send_signal(int pidfd, int sig, siginfo_t *info,
|
|
|
|
unsigned int flags)
|
|
|
|
{
|
|
|
|
return syscall(SYS_pidfd_send_signal, pidfd, sig, info, flags);
|
|
|
|
}
|
2020-02-15 15:12:50 -06:00
|
|
|
# endif
|
2019-12-09 05:22:31 -06:00
|
|
|
|
2020-03-10 05:43:16 -05:00
|
|
|
# ifndef HAVE_PIDFD_OPEN
|
2019-11-25 14:31:20 -06:00
|
|
|
static inline int pidfd_open(pid_t pid, unsigned int flags)
|
|
|
|
{
|
|
|
|
return syscall(SYS_pidfd_open, pid, flags);
|
|
|
|
}
|
2020-02-15 15:12:50 -06:00
|
|
|
# endif
|
2019-12-09 05:22:31 -06:00
|
|
|
|
2020-02-15 15:12:50 -06:00
|
|
|
# define UL_HAVE_PIDFD 1
|
2019-11-25 14:31:20 -06:00
|
|
|
|
2020-02-15 15:12:50 -06:00
|
|
|
# endif /* SYS_pidfd_send_signal */
|
|
|
|
#endif /* __linux__ */
|
2019-12-09 05:22:31 -06:00
|
|
|
#endif /* UTIL_LINUX_PIDFD_UTILS */
|