Commit graph

6901 commits

Author SHA1 Message Date
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
Daniel Kochmański
e3b8c3a668 msvc: improve clean targets
Contributed on GitLab by @Exaybachay.
2017-02-17 09:01:06 +01:00
Daniel Kochmański
9e4370bd88 encodings: ommited file 2017-02-17 08:57:58 +01:00
Daniel Kochmański
37083b5836 encodings: typo and more exact proclamation
by mistake make-encoding was bound to load-encoding. Also we have
proclaimed, that make-encoding always returns hash-table.
2017-02-17 08:57:05 +01:00
Daniel Kochmański
091d53626b encoding: typo 2017-02-16 21:31:51 +01:00
Daniel Kochmański
1b90599696 encodings: get rid of spurious function
We don't need explicit si_make_encoding.
2017-02-16 21:29:42 +01:00
Daniel Kochmański
0b66672d7f changelog: update 2017-02-16 20:48:05 +01:00
Daniel Kochmański
bdc75e42da encodings: don't fake ext:make-encoding in dispatch table
si_make_encoding was bound to ext:make-encoding before version in
iolib.lsp was overwriting it. That caused maybe_fix_console to fail on
Windows due to infinite concurrency (si_make_encoding called itself,
because iolib.lsp wasn't called yet).

Fixes #160.
2017-02-16 20:44:07 +01:00