~ chicken-core (chicken-5) dd47e50aa4de9371dc2643c3ace5d7940f54265e
commit dd47e50aa4de9371dc2643c3ace5d7940f54265e Author: felix <felix@call-with-current-continuation.org> AuthorDate: Thu Jul 15 15:29:34 2010 +0200 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Thu Jul 15 15:29:34 2010 +0200 documented blocking operation of closing process ports diff --git a/manual/Unit posix b/manual/Unit posix index 8e26668a..f236e3d6 100644 --- a/manual/Unit posix +++ b/manual/Unit posix @@ -606,6 +606,9 @@ returns three values: * {{#t}} if the process exited normally or {{#f}} otherwise. * either the exit status, if the process terminated normally or the signal number that terminated/stopped the process. +Note that suspending the current process implies that all threads +are suspended as well. + ==== process <procedure>(process COMMANDLINE)</procedure><br> @@ -625,6 +628,11 @@ is directly passed, as is {{ENVIRONMENT-LIST}}. Not using the shell may be preferrable for security reasons. +Once both the input- and output ports are closed, an implicit +{{waitpid(3)}} is done to wait for the subprocess to finish or to reap +a subprocess that has terminated. If the subprocess has not finished, +waiting for it will necessarily block all executing threads. + ==== process* <procedure>(process* COMMANDLINE)</procedure><br>Trap