From e7190fc73dbc8a1f8f94f8ccacd9a190fa5e609c Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella Netto Date: Thu, 24 Aug 2023 13:42:19 -0300 Subject: linux: Add pidfd_getpid This interface allows to obtain the associated process ID from the process file descriptor. It is done by parsing the procps fdinfo information. Its prototype is: pid_t pidfd_getpid (int fd) It returns the associated pid or -1 in case of an error and sets the errno accordingly. The possible errno values are those from open, read, and close (used on procps parsing), along with: - EBADF if the FD is negative, does not have a PID associated, or if the fdinfo fields contain a value larger than pid_t. - EREMOTE if the PID is in a separate namespace. - ESRCH if the process is already terminated. Checked on x86_64-linux-gnu on Linux 4.15 (no CLONE_PIDFD or waitid support), Linux 5.4 (full support), and Linux 6.2. Reviewed-by: Florian Weimer --- NEWS | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'NEWS') diff --git a/NEWS b/NEWS index 97681e6..60a0371 100644 --- a/NEWS +++ b/NEWS @@ -27,6 +27,10 @@ Major new features: The pidfd functionality avoids the issue of PID reuse with the traditional posix_spawn interface. +* On Linux, the pidfd_getpid function has been added. It allows retrieving + the process ID associated with the process file descriptor created by + pid_spawn, fork_np, or pidfd_open. + Deprecated and removed features, and other changes affecting compatibility: [Add deprecations, removals and changes affecting compatibility here] -- cgit v1.1