李通洲
f7db03b8c4
Processing (*nix): use traditional fork-exec on Android and OpenBSD
...
Fix https://github.com/termux/termux-packages/issues/25369
2025-07-18 10:37:52 +08:00
李通洲
6f3ed4a7b4
Processing (Linux): cache the index of $LANG
2025-07-15 10:22:56 +08:00
Carter Li
2eda6464ad
Processing (Linux): use posix_spawnp for better performance
2025-07-09 23:56:02 +08:00
Carter Li
92fe44183d
Shell (SunOS): ignore leading -
2025-06-22 12:12:49 +08:00
Carter Li
1137e8d1c9
Processing (Haiku): fix exe detection
2025-02-18 19:49:40 +08:00
李通洲
b8b2fab499
Haiku: fix building
2025-02-18 15:49:39 +08:00
李通洲
8dc4f77f42
Shell (Haiku): fix arg0 detection
2025-02-18 09:17:55 +08:00
Carter Li
948a965c7a
Terminal (Haiku): detect terminal version
2025-02-17 21:22:12 +08:00
Carter Li
c585e09ef0
Processing (Haiku): support exe path detection
2025-02-13 22:39:45 +00:00
李通洲
d3a5f986a8
Terminal (Haiku): add basic support
2025-02-12 00:44:41 +08:00
李通洲
8774fb3fb7
Shell (OpenBSD): trim - for login shells
2025-02-05 16:10:42 +08:00
李通洲
7f212025de
Processing (Unix): better pipe2(2) existance check
2025-02-05 15:36:09 +08:00
李通洲
e9ab67b380
Processing (Linux): interrupt poll & read syscalls when the child process is exited
...
Fix #1418
2024-12-02 16:02:04 +08:00
李通洲
2cfc8ec0db
Processing (macOS): fix exe path detection
2024-11-13 10:46:30 +08:00
Carter Li
c368908b7d
Shell (macOS): try fixing segfault in old macOS
...
Ref: #1388
2024-11-11 17:49:49 +08:00
Carter Li
f7288fec01
Global: support DragonFly BSD
2024-11-03 08:35:11 +08:00
Carter Li
cae8286621
Shell / Terminal: fix proc path detection
2024-10-31 00:25:40 +08:00
李通洲
4665fdd145
Global: make it compile on NetBSD
...
Doesn't work yet.
2024-10-27 11:43:36 +08:00
李通洲
b257134d74
Chore: introduce macro ARRAY_SIZE
2024-10-18 16:44:41 +08:00
apocelipes
bbc9cf4980
Processing(Linux, SunOS): little optimizations ( #1341 )
2024-10-14 11:35:29 +08:00
Carter Li
a32d9d788c
OpenBSD: init platform support
2024-10-04 17:49:18 +08:00
Carter Li
76b8446d15
InitSystem (SunOS): fix crashes
2024-06-17 15:18:02 +08:00
Carter Li
6473db86a3
SunOS: support shell & terminal detection
2024-06-17 14:47:47 +08:00
Carter Li
898bf1edd9
SunOS: support InitSystem
2024-06-17 14:47:47 +08:00
李通洲
44257b7ede
Shell: don't try to get arg1 if python was executed without extra args
2024-05-30 09:58:06 +08:00
李通洲
d7e9094297
Shell (macOS): better xonsh detection
...
Fix #977
2024-05-30 09:31:25 +08:00
李通洲
e8dc500f24
Processing (Linux): return errors more actively
...
fix assertion errors
2024-05-29 16:24:18 +08:00
李通洲
90690ba315
InitSystem: add new module
...
Fix #974
2024-05-29 11:14:39 +08:00
李通洲
3811bb1be4
TerminalShell: move process info query logic into common place
2024-05-28 23:43:15 +08:00
李通洲
36a0c273f9
Processing: suggest increasing --processing-timeout when child process timeouts
2024-04-30 14:52:47 +08:00
李通洲
947d2ff0a9
Processing (Linux): return error when command is not found
2024-01-18 14:54:14 +08:00
李通洲
82581aa9e4
Processing: increase buffer size
2023-12-04 15:10:58 +08:00
apocelipes
53922779ba
fix(Common): fixes for ffProcessAppendOutput
...
- Use pipe2 on Linux and BSDs, which can set all flags through a single syscall.
- macOS/darwin does not support pipe2, add a wrapper for it.
- Close pipes when fork() failed. These fds should be closed when
the function returns.
- Set O_CLOEXEC at pipes, the exec() family of functions will close
this fds automatically.
- Use _exit instead of exit. Exit calls the callbacks registered by atexit
and flushes the stdio's buffer, which can lead to some unexpected behavior,
especially after an exec syscall failure.
- Fix timeout.
- Not use non-blocking IO. because we only wait for one file, and cannot
do other things during waiting.
2023-11-30 10:10:40 +08:00
Marius Messerschmidt
975081aa27
ClangTidy: make pid pointer const
2023-11-18 12:31:57 +01:00
李通洲
c504096181
Processing (Linux): fix hanging if a child process prints to both stdout and stderr
2023-10-31 14:06:08 +08:00
李通洲
bed1b4cf0f
Global: move general options to a new separate folder
2023-10-25 13:39:13 +08:00
李通洲
88c12486bf
Processing (Linux): always set LANG to C before executing child process
2023-09-27 15:02:55 +08:00
李通洲
2aa637ecc8
Processing (Linux): don't return on POLLHUP
...
In case child process finishs too fast
2023-07-24 21:30:41 +08:00
李通洲
a9466654b2
Processing (macOS): fix compiling
2023-07-15 08:25:57 +08:00
李通洲
87ebdef8df
Processing (Linux): don't leave zombie processes
2023-07-15 00:33:38 +08:00
李通洲
dfefb802d0
Processing (Linux): always poll before read
2023-07-11 20:28:59 +08:00
李通洲
11adefd839
Processing (Windows): fix hanging when executing cygwin processes
2023-07-11 19:45:16 +08:00
李通洲
ced2347829
Processing (Linux): fix potential hang when reading large buffer
...
`write` in child process blocks when the pipe is full. However because we are `waitpid`ing, we don't read the pipe, so that the pipe is never free. Therefore `write` in child process blocks forever and `waitpid` hangs.
Fix #493
2023-07-11 11:13:13 +08:00
李通洲
7dae59ee92
Processing: add --processing-timeout
2023-07-10 22:20:30 +08:00
李通洲
d53b584ba2
Processing (Windows): support timeout
2023-07-10 21:02:13 +08:00
李通洲
9c9ba2f1a1
CI (Linux): fix build on musl
2023-07-10 18:10:59 +08:00
李通洲
c1b2ebc66e
CI: fix compiling errors
2023-07-10 18:04:21 +08:00
李通洲
ad9103c767
Processing (Linux): support timeout
2023-07-10 17:12:18 +08:00
李通洲
e611ce5733
Processing (Linux): don't hang on waitpid(2)
2023-07-10 15:26:10 +08:00
李通洲
d5f0ccae88
LM (Linux): try fixing LightDM version detection
2023-07-10 09:39:24 +08:00