process$kill_tree() method, and new
cleanup_tree arguments in
process$new(), to clean up the process tree rooted at a
processx process. (#139, #143).
process$interupt() method to send an interrupt to a process,
SIGINT on Unix, CTRL+C on Windows (#127).
stdin argument in
process$new() to support writing to the
standard input of a process (#27, #114).
connections argument in
process$new() to support passing extra
connections to the child process, in addition to the standard streams.
poll_connection argument to
process$new(), an extra connection
that can be used to poll the process, even if
not pipes (#125).
poll() now works with connections objects, and they can be mixed with
process objects (#121).
env argument in
process$new(), to set the
environment of the child process, optionally (#117, #118).
$restart() method, because it was less useful than
expected, and hard to maintain (#116).
conn_set_stderr() to set the standard
output or error of the calling process.
conn_disable_inheritance() to disable stdio inheritance. It is
suggested that child processes call this immediately after starting, so
the file handles are not inherited further.
Fixed a signal handler bug on Unix that marked the process as finished, even if it has not (d221aa1f).
Fixed a bug that occasionally caused crashes in
wait(), on Unix (#138).
run() is interrupted, no error message is printed, just like
for interruption of R code in general. The thrown condition now also
interrupt class (#148).
Fix interference with the parallel package, and other packages that
SIGCHLD signal handler on Unix. If the processx signal
handler is overwritten, we might miss the exit status of some processes
(they are set to
process$new() allow specifying the working directory
of the process (#63).
Make the debugme package an optional dependency (#74).
processx is now compatible with R 3.1.x.
Allow polling more than 64 connections on Windows, by using IOCP
WaitForMultipleObjects() (#81, #106).
Fix a race condition on Windows, when creating named pipes for stdout or stderr. The client sometimes didn't wait for the server, and processx failed with ERROR_PIPE_BUSY (231, All pipe instances are busy).
Fix a crash on windows when trying to run a non-existing command (#90)
Fix a race condition in
process$new() do not support the
any more, because process cleanup is error prone with an intermediate
processx process objects no longer use R connection objects,
because the R connection API was retroactive made private by R-core
processx uses its own connection class now to manage standard output
and error of the process.
The encoding of the standard output and error can be specified now,
stderr in UTF-8.
Cloning of process objects is disables now, as it is likely that it causes problems (@wch).
supervise option to kill child process if R crashes (@wch).
has_error_connection() methods (@wch).
stderr default to
NULL now, i.e. they are
Fix undefined behavior when stdout/stderr was read out after the process was already finalized, on Unix.
run(): Better message on interruption, kill process when interrupted.
Unix: better kill count on unloading the package.
Unix: make wait() work when SIGCHLD is not delivered for some reason.
Unix: close inherited file descriptors more conservatively.
Fix a race condition and several memory leaks on Windows.
Fixes when running under job control that does not allow breaking away from the job, on Windows.
This is an unofficial release, created by CRAN, to fix compilation on Solaris.
First public release.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.