git: e267cce5a5 - main - Report aboud pdwait(2) and pdrfork(2)
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 10 Apr 2026 17:45:25 UTC
The branch main has been updated by kib:
URL: https://cgit.FreeBSD.org/doc/commit/?id=e267cce5a5b5c2f7f56c558e9ac1e757aa605521
commit e267cce5a5b5c2f7f56c558e9ac1e757aa605521
Author: Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2026-04-02 05:38:20 +0000
Commit: Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2026-04-10 15:13:11 +0000
Report aboud pdwait(2) and pdrfork(2)
Reviewed by: salvadore
Sponsored by: The FreeBSD Foundation
Differential revision: https://reviews.freebsd.org/D56221
---
.../en/status/report-2026-01-2026-03/pdwait.adoc | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/website/content/en/status/report-2026-01-2026-03/pdwait.adoc b/website/content/en/status/report-2026-01-2026-03/pdwait.adoc
new file mode 100644
index 0000000000..c4bd211ac3
--- /dev/null
+++ b/website/content/en/status/report-2026-01-2026-03/pdwait.adoc
@@ -0,0 +1,19 @@
+=== Process Descriptor API completion
+
+Contact: Konstantin Belousov <kib@FreeBSD.org>
+
+FreeBSD offered the Process Descriptors facility for long time.
+Its main use is in the Capsicum sandboxes where the handle is required to operate on an object, and process descriptor provided such handle.
+Other operating systems provide similar facility under the same name.
+The offered API was not complete, main lacking part being the man:pdwait[2] system call, the analog of man:wait[2] family, which operates on the process descriptor instead of the process id.
+
+The described project added man:pdwait[2] call.
+Another important addition was the man:pdrfork[2] call, which provides the same fine-grained support for process copy construction as man:rfork[2], but also returns the process descriptor as the handle, like man:pdfork[2].
+
+After pdwait and pdrfork addition, the natural extensions for the man:posix_spawn[3] facilities were possible.
+Now the man:posix_spawnattr_setprocdescp_np[3] attribute requests that man:posix_spawn[3] returned process descriptor.
+Another natural addition was man:posix_spawnattr_setexecfd_np[3] which specifies the executable image by file descriptor instead of the name.
+
+Together, the newly added features make the process descriptor complete and allow the use of posix_spawn in the sandboxes.
+
+Sponsor: The FreeBSD Foundation