Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-09-14 | Close extraneous file descriptors to prevent an FD leak.HEADmaster | Peter Bex | |
After dup(2)ing an fd into another already existing fd, we can close the original. | |||
2021-09-14 | Fix issue with redirection in run/port (and, by extension, run/string) | Peter Bex | |
We would initially create a pipe, dup(2) that onto fd 1 in the forked process and open an output port on the original fd. This resulted in a pretty nasty bug: if the fd would be redirected (by number) later, it would not affect the output port because that was set up to point to the original fd. Instead, open an output port to the newly set up stdout and close the direct pipe port. | |||
2020-05-17 | Bump version to 1.6.01.6.0 | Peter Bex | |
2020-05-17 | Use 0666 as default file-open mode | Vasilij Schneidermann | |
Signed-off-by: Peter Bex <peter@more-magic.net> | |||
2019-05-16 | Add 1.5.2 to release-info files | Peter Bex | |
2019-05-16 | Add missing chicken.fixnum import for `fx+ in `run` macro1.5.2 | Evan Hanson | |
Signed-off-by: Peter Bex <peter@more-magic.net> | |||
2019-01-20 | Use https instead of http for locations | Peter Bex | |
2018-10-10 | Bump version to 1.5.1 (for some reason 1.5.0 was not pointing to the latest ↵ | Peter Bex | |
codebase) | |||
2018-10-04 | Add 1.5.0 to release-info1.5.1 | Peter Bex | |
2018-10-04 | Bump version to 1.5.01.5.0 | Peter Bex | |
2018-10-04 | Use llrb-tree for pending processes to conserve some ressources and use only ↵ | Jörg Wittenberger | |
one thread to forrward SIGHCLD to. Signed-off-by: Peter Bex <peter@more-magic.net> | |||
2018-08-16 | Add release-info for CHICKEN 5, bump version1.4.0 | Peter Bex | |
2018-08-16 | Port scsh-process to CHICKEN 5 | Peter Bex | |
Thanks to Vasilij Schneidermann for providing an initial patch. | |||
2018-08-16 | Wrap tests in module to make porting easier | Peter Bex | |
2018-08-16 | Drop bogus test | Peter Bex | |
run*/string* does not exist, and run/string* doesn't raise an exception on nonzero exit status. | |||
2018-04-21 | Bump version to 1.3.01.3.0 | Peter Bex | |
2018-04-21 | Make ">" redirect truncate existing files | Peter Bex | |
Thanks to Joerg Wittenberger | |||
2018-01-26 | Bump version to 1.2.21.2.2 | Peter Bex | |
2018-01-26 | Fix ordering of (= x y) redirection EPF | Peter Bex | |
Thanks to Diego "dieggsy" for pointing out this incongruity with scsh-process. | |||
2018-01-23 | Bump version to 1.2.11.2.1 | Peter Bex | |
2018-01-23 | Do not connect stdin to subprocess' stdout in run/file | Peter Bex | |
This would cause the REPL to exit after calling (run/file ...) because it reached EOF. Strangely this didn't cause any issues in the tests. Still not sure why this would be the case. Reported by Diego "dieggsy" | |||
2017-12-09 | Bump version to 1.2.01.2.0 | Peter Bex | |
2017-12-09 | Do not redirect stderr to stdin in fork/pipe. | Benutzer | |
Signed-off-by: Peter Bex <peter@more-magic.net> | |||
2017-11-18 | Tag 1.1.01.1.0 | Peter Bex | |
2017-11-18 | Run signal handler in a separate thread | Peter 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-18 | Perform trial wait with "nohang" set to #t when blocking | Peter 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-10 | Tag 1.0.01.0.0 | Peter Bex | |
2017-11-10 | Also unmask (if needed) sigchld in the child process thunk | Peter Bex | |
This would be otherwise kept in masked mode because the thunk is in the dynamic extent of the dynamic-wind. | |||
2017-11-10 | Don't unmask signal if the signal was already masked before forking | Peter Bex | |
2017-11-09 | Tag 0.9.00.9.0 | Peter Bex | |
2017-11-09 | Temporarily mask sigchld to avoid race condition in fork | Peter 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-08 | Tag 0.8.30.8.3 | Peter Bex | |
2017-11-08 | Add a test case for "annonymous" wait. | Jörg Wittenberger | |
Signed-off-by: Peter Bex <peter@more-magic.net> | |||
2017-11-08 | Fix process-wait on #f or a plain pid | Peter Bex | |
Thanks to Jörg F. Wittenberger for the patch and test | |||
2017-06-29 | Tag 0.8.20.8.2 | Peter Bex | |
2017-06-29 | Ensure ports are closed after reading in run/...* procedures (thanks to ↵ | Peter Bex | |
Jörg F. Wittenberger) | |||
2017-06-03 | Tag 0.8.10.8.1 | Peter Bex | |
2017-06-03 | Reinstall deadlock workaround thread when forking with thread killing | Peter Bex | |
2017-05-23 | scsh-process: Add release 0.80.8 | Peter Bex | |
2017-05-23 | Fix race condition that caused mutex to get unlocked when the process wasn't ↵ | Peter Bex | |
ready yet | |||
2017-05-23 | chicken-version is not from setup-api | Peter Bex | |
2017-05-23 | Block 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-28 | scsh-process: Add release 0.7.10.7.1 | Peter Bex | |
2017-01-28 | Bump version to 0.7.1 (forgot to do that when tagging) | Peter Bex | |
2017-01-24 | Update copyright year | Peter Bex | |
2017-01-24 | scsh-process: Add release 0.70.7 | Peter Bex | |
2017-01-21 | Clear pending process table on fork. | Peter Bex | |
Thanks to Joerg Wittenberger | |||
2017-01-21 | Also export proc:pid (thanks to Joerg Wittenberger) | Peter Bex | |
2016-09-24 | Bump version to 0.60.6 | Peter Bex | |
2016-09-24 | Add proc:pid, proc?, signal-process and process-sleep for improved compat | Peter Bex | |
Thanks to Joerg Wittenberger for the suggestion to add proc:pid and signal-process. |