summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-12-09Bump version to 1.2.01.2.0Peter Bex
2017-12-09Do not redirect stderr to stdin in fork/pipe.Benutzer
Signed-off-by: Peter Bex <peter@more-magic.net>
2017-11-18Tag 1.1.01.1.0Peter Bex
2017-11-18Run signal handler in a separate threadPeter Bex
This seems to be necessary so that condition-variable-broadcast! works when the signal handler is running in the same thread as the waiting thread.
2017-11-18Perform trial wait with "nohang" set to #t when blockingPeter Bex
We might have missed the one and only SIGCHLD event for the process we're about to wait for, so attempt to reap it before entering the condition variable wait loop. Just in case, we always do this when we're woken up, so that we can't accidentally miss the signal.
2017-11-10Tag 1.0.01.0.0Peter Bex
2017-11-10Also unmask (if needed) sigchld in the child process thunkPeter Bex
This would be otherwise kept in masked mode because the thunk is in the dynamic extent of the dynamic-wind.
2017-11-10Don't unmask signal if the signal was already masked before forkingPeter Bex
2017-11-09Tag 0.9.00.9.0Peter Bex
2017-11-09Temporarily mask sigchld to avoid race condition in forkPeter Bex
We do a fork, and immediately afterwards we insert a scsh-process object into the pending processes table with the pid of the newly created child process. However, sigchld may arrive in between the fork and the insertion of the scsh-process object into the pending process table. The sigchld handler will reap the child process and attempt to update the pending scsh-process object, but it can't find it yet because the insertion of this object into the table happens after the fork, thus losing the reaped child's exit status. Then, if the program waits for the process after that, we enter an infinite busy waiting loop that expects a sigchld to arrive and update the object through the table, but that never happens because the child has already been reaped.
2017-11-08Tag 0.8.30.8.3Peter Bex
2017-11-08Add a test case for "annonymous" wait.Jörg Wittenberger
Signed-off-by: Peter Bex <peter@more-magic.net>
2017-11-08Fix process-wait on #f or a plain pidPeter Bex
Thanks to Jörg F. Wittenberger for the patch and test
2017-06-29Tag 0.8.20.8.2Peter Bex
2017-06-29Ensure ports are closed after reading in run/...* procedures (thanks to ↵Peter Bex
Jörg F. Wittenberger)
2017-06-03Tag 0.8.10.8.1Peter Bex
2017-06-03Reinstall deadlock workaround thread when forking with thread killingPeter Bex
2017-05-23scsh-process: Add release 0.80.8Peter Bex
2017-05-23Fix race condition that caused mutex to get unlocked when the process wasn't ↵Peter Bex
ready yet
2017-05-23chicken-version is not from setup-apiPeter Bex
2017-05-23Block only current thread instead of entire process when waiting for a child.Jörg Wittenberger
Signed-off-by: Peter Bex <peter@more-magic.net>
2017-01-28scsh-process: Add release 0.7.10.7.1Peter Bex
2017-01-28Bump version to 0.7.1 (forgot to do that when tagging)Peter Bex
2017-01-24Update copyright yearPeter Bex
2017-01-24scsh-process: Add release 0.70.7Peter Bex
2017-01-21Clear pending process table on fork.Peter Bex
Thanks to Joerg Wittenberger
2017-01-21Also export proc:pid (thanks to Joerg Wittenberger)Peter Bex
2016-09-24Bump version to 0.60.6Peter Bex
2016-09-24Add proc:pid, proc?, signal-process and process-sleep for improved compatPeter Bex
Thanks to Joerg Wittenberger for the suggestion to add proc:pid and signal-process.
2016-02-27Update release-info to reflect new download locationPeter Bex
2015-07-18Updated release-info file for release tag 0.5Peter Bex
2015-07-18Added tag 0.5 for changeset 68864f175789Peter Bex
2015-07-18Bump version to 0.50.5Peter Bex
2015-07-18Fix default output redirections to ignore stderr.Peter Bex
This is what scsh does as well, and is more like a regular UNIX shell. Thanks to Haochi Kiang for reporting the bug and providing a patch.
2013-06-22Updated release-info file for release tag 0.4.1Peter Bex
2013-06-22Added tag 0.4.1 for changeset 5caf37f3dbb7Peter Bex
2013-06-22Bump version to 0.4.1 (and update copyright year, while we're at it)0.4.1Peter Bex
2013-06-18Support unquote-splicing through a variant of exec-path (reported by Moritz)Peter Bex
2012-11-03Updated release-info file for release tag 0.4Peter Bex
2012-11-03Added tag 0.4 for changeset b30ed1cb32bcPeter Bex
2012-11-03Fixing threads is kinda worth a minor version bump... :)0.4Peter Bex
2012-11-03Support new process-fork form which can kill all other threads. We still ↵Peter Bex
see some problems occurring
2012-10-06Updated release-info file for release tag 0.3.1Peter Bex
2012-10-06Added tag 0.3.1 for changeset 38692591793cPeter Bex
2012-10-06Fix order of returning0.3.1Peter Bex
2012-10-06BumpPeter Bex
2012-10-06Return #f from WAIT when nohang is given and the process hasn't completedPeter Bex
2012-10-06Updated release-info file for release tag 0.3Peter Bex
2012-10-06Added tag 0.3 for changeset a6d0e7a5a881Peter Bex
2012-10-06Provide a new 'wait' procedure so we don't need to modify the type of ↵0.3Peter Bex
process-wait, which could lead to trouble in user code when compiled with scrutiny and/or specialization. This procedure returns the values in a different order for ease of use. May be a bit confusing...