Page MenuHomeFreeBSD

D56221.id175233.diff
No OneTemporary

D56221.id175233.diff

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
--- /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

File Metadata

Mime Type
text/plain
Expires
Mon, Aug 10, 5:33 PM (6 h, 15 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
36256975
Default Alt Text
D56221.id175233.diff (1 KB)

Event Timeline