Daniel Kochmański
abf580c9e4
external process: handle sigstop / sigcont in process
...
New state "resumed" added.
2017-02-20 15:21:26 +01:00
Daniel Kochmański
772262f1c6
external-process-wait: be exact with case
...
Sanity check.
2017-02-20 13:03:01 +01:00
Daniel Kochmański
03bd29426b
process-wait: fix very important typo
2017-02-20 12:35:01 +01:00
Daniel Kochmański
236e8b38d1
ext:terminate-process: sanitize input
2017-02-20 12:14:10 +01:00
Daniel Kochmański
412770daac
spawn-subprocess: duplicate parent_error fd
...
Handler needs to be duplicated if we want to have separate stream for
error.
2017-02-20 11:39:02 +01:00
Daniel Kochmański
d6b0354772
run-program: add hack for installing signal-handler
2017-02-19 18:25:03 +01:00
Daniel Kochmański
a92c50fe44
external-process: add sigchld handler
...
It's not installed by default yet due to a kludge with our interrupt
interface.
2017-02-19 17:55:27 +01:00
Daniel Kochmański
2701310046
external-process-wait: handle stopped process
...
we have a few possibilities here. Handle them correctly.
2017-02-19 14:41:25 +01:00
Daniel Kochmański
4554336fae
cosmetic
2017-02-19 14:09:56 +01:00
Daniel Kochmański
f0ad7b9550
killpid: add internal interface to kill
2017-02-19 13:47:58 +01:00
Daniel Kochmański
500a7b7d6b
external-process: move terminate-process outside the core
2017-02-19 13:21:58 +01:00
Daniel Kochmański
65c70996fc
cosmetic
2017-02-19 13:01:24 +01:00
Daniel Kochmański
47f1525ebd
external-process: add disabled terminate-process
2017-02-19 13:00:58 +01:00
Daniel Kochmański
786039ca97
cosmetic fixes(2)
2017-02-19 12:51:35 +01:00
Daniel Kochmański
40f47f04aa
cosmetic fixes
2017-02-19 12:51:23 +01:00
Daniel Kochmański
bcacc6bdb0
si_wait: move to external, its called from the outside
2017-02-19 11:12:22 +01:00
Daniel Kochmański
91c45d09cd
dpp: always set zero-th variable with values
2017-02-19 11:10:30 +01:00
Daniel Kochmański
ef65a8b1ac
external-process-wait: accessor is *-%code
2017-02-19 08:29:16 +01:00
Daniel Kochmański
11d5773d26
ecl-waitpid wrapper: si_waitpid takes objects
2017-02-19 08:28:01 +01:00
Daniel Kochmański
333c23ad4c
external-process: move external-process-wait outside the core
2017-02-19 07:59:41 +01:00
Daniel Kochmański
b4affb9302
ecl_waitpid: promote to internal global function si_waitpid
2017-02-19 07:45:25 +01:00
Daniel Kochmański
22ebecd7d0
run-program-inner: argv is (command . argv)
2017-02-18 20:45:43 +01:00
Daniel Kochmański
ce111619cf
run-program: provide simple interface run-program-inner
...
Both run-program and run-program-inner work on same interface
si:spawn-subprocess.
2017-02-18 20:31:03 +01:00
Daniel Kochmański
127af0e59a
prepare-args: revert, its create process responsibility
2017-02-18 20:27:46 +01:00
Daniel Kochmański
6ff556b707
core: bring bad old system function (3)
2017-02-18 20:25:51 +01:00
Daniel Kochmański
a402eaca70
core: bring bad old system function (2)
2017-02-18 20:25:32 +01:00
Daniel Kochmański
4aaadf0545
core: bring bad old system function
2017-02-18 20:25:17 +01:00
Daniel Kochmański
1e62ca0a1a
prepare-args: last argument is NIL for POSIX
...
On POSIX arguments starts with command name and end with NULL. Ensure,
that last argument is NULL to avoid "Bad address".
2017-02-18 20:23:15 +01:00
Daniel Kochmański
0144154b9d
prepare-args: coerce arguments for windows
2017-02-18 19:14:34 +01:00
Daniel Kochmański
f7e224b84e
external-process: remove interface ties from the core
...
We are stopping to handle sigchld for time being because it was too
tightly coupled with core.
Internal interface wait-for-all-processes is removed as well as eager
update of process state.
2017-02-18 15:04:10 +01:00
Daniel Kochmański
a810a4f73d
ext:system: don't escape arguments
2017-02-18 07:53:55 +01:00
Daniel Kochmański
204062999f
Merge branch 'refactor-run-program' into develop
...
Refactor run-program to have HL interface in lisp sources. Add proper
argument escaping on Windows (fixes #304 ).
TODO:
- write tests for run-program
- documentation
- move external-process logic to process.lsp
- implement external-process-pipe-thread
2017-02-17 19:26:22 +01:00
Daniel Kochmański
039f49a02e
run-program: windows: sanitize args
2017-02-17 19:04:45 +01:00
Daniel Kochmański
d07fbcb9fd
run-program: windows: args
2017-02-17 19:03:08 +01:00
Daniel Kochmański
a26791e9fb
run-program: on windows argv is a string (no car)
2017-02-17 18:59:39 +01:00
Daniel Kochmański
ca08f94430
cosmetic
2017-02-17 18:45:04 +01:00
Daniel Kochmański
9e69603e4f
run-program: fix misconception
2017-02-17 18:43:19 +01:00
Daniel Kochmański
2b2ef967ef
run-program: don't modify command
2017-02-17 18:31:36 +01:00
Daniel Kochmański
10242910f9
Merge branch 'develop' into refactor-run-program
2017-02-17 18:30:32 +01:00
Daniel Kochmański
ee10aa7313
run-program: error stream direction is output
2017-02-17 17:58:13 +01:00
Daniel Kochmański
1360bc1306
cosmetic: add comment
2017-02-17 17:25:12 +01:00
Daniel Kochmański
212a60e9bc
run-program: if gray-stream passed, propose continuation
...
If execution is continued, new stream is created.
2017-02-17 17:24:19 +01:00
Daniel Kochmański
76e503ed7a
run-program: if gray-stream passed, propose continuation
...
If execution is continued, new stream is created.
2017-02-17 17:22:26 +01:00
Daniel Kochmański
2fb64f6d82
run-program: process passed arguments properly
2017-02-17 16:49:32 +01:00
Daniel Kochmański
d8c4da22fc
run-program: use previously prepared arguments
2017-02-17 16:24:48 +01:00
Daniel Kochmański
9a166af99c
run-program: typos / ommisions
2017-02-17 16:05:16 +01:00
Daniel Kochmański
86faf44d2a
run-program: initial separation (logic / low-level interface)
2017-02-17 15:21:31 +01:00
Daniel Kochmański
6fe66843de
cosmetic: be explicit about comments
2017-02-17 14:19:51 +01:00
Daniel Kochmański
d9a715d7da
cleanup: remove dead code (2)
2017-02-17 14:18:45 +01:00
Daniel Kochmański
dfa4d36384
cleanup: remove dead code
2017-02-17 14:18:27 +01:00