Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit bee19cd8 authored by Dmitry V. Levin's avatar Dmitry V. Levin Committed by Christian Brauner
Browse files

samples: make pidfd-metadata fail gracefully on older kernels



Initialize pidfd to an invalid descriptor, to fail gracefully on
those kernels that do not implement CLONE_PIDFD and leave pidfd
unchanged.

Signed-off-by: default avatarDmitry V. Levin <ldv@altlinux.org>
Signed-off-by: default avatarChristian Brauner <christian@brauner.io>
parent 9014143b
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -83,7 +83,7 @@ static int pidfd_metadata_fd(pid_t pid, int pidfd)

int main(int argc, char *argv[])
{
	int pidfd = 0, ret = EXIT_FAILURE;
	int pidfd = -1, ret = EXIT_FAILURE;
	char buf[4096] = { 0 };
	pid_t pid;
	int procfd, statusfd;
@@ -91,7 +91,11 @@ int main(int argc, char *argv[])

	pid = pidfd_clone(CLONE_PIDFD, &pidfd);
	if (pid < 0)
		exit(ret);
		err(ret, "CLONE_PIDFD");
	if (pidfd == -1) {
		warnx("CLONE_PIDFD is not supported by the kernel");
		goto out;
	}

	procfd = pidfd_metadata_fd(pid, pidfd);
	close(pidfd);