signal, exec, wait, pid: improvements, especially to exec
commit1fd4fb6a645fa107d644f1ca0a0a8d7aa702e1d5
authorSteve Bennett <steveb@workware.net.au>
Wed, 14 Sep 2016 04:15:47 +0000 (14 14:15 +1000)
committerSteve Bennett <steveb@workware.net.au>
Mon, 16 Oct 2017 21:39:39 +0000 (17 07:39 +1000)
tree78c2baa61687fa296dc418cd1b978b3e046813f6
parent4be55f10c4d2071f493b9a1b60197c5e20f3203d
signal, exec, wait, pid: improvements, especially to exec

- fix popen [open "|pipeline ..."] to return meaningful status in close
  (but note that stderr is not captured)
- popen pipelines can now be used as the target of exec redirection
- overally improvements to exec on windows. Now crt file descriptors
  are used throughout
- add support for [pid], [wait] and popen on windows
- os.wait is now wait, and integrates with [exec ... &] to be able
  to wait for running background tasks
- [socket pipe] is now also [pipe] and is supported on windows
- [file tempfile] is supported on windows
- move duplicated code between jim-aio.c and jim-exec.c to jimiocompat.c
- Fix [exec] on windows to match unix semantics wrt sharing the parent stream
  unless redirected rather than using /dev/null
- On windows redirect to or from /dev/null is automatically converted to NUL:
- If signal support is disabled, implement a minimal Jim_SignalId() for exec and wait
- aio now supports getfd, to return the underlying file descriptor.
  This is used by exec to support redirection, and allows popen channels
  to support exec redirection.

Signed-off-by: Steve Bennett <steveb@workware.net.au>
19 files changed:
Makefile.in
auto.def
jim-aio.c
jim-exec.c
jim-file.c
jim-nosignal.c [new file with mode: 0644]
jim-posix.c
jim-signal.c
jim-signal.h
jim-win32compat.h
jim.h
jim_tcl.txt
jimiocompat.c [new file with mode: 0644]
jimiocompat.h [new file with mode: 0644]
make-bootstrap-jim
tclcompat.tcl
tests/exec.test
tests/exec2.test
tests/pid.test