mirror of
https://git.FreeBSD.org/doc.git
synced 2026-06-02 19:35:07 +00:00
Report aboud pdwait(2) and pdrfork(2)
Reviewed by: salvadore Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D56221
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user