Roland Kovacs
f6ead2e777
os/os2: Linux _process_start() write back error on fchdir failure
2025-01-20 23:31:13 +01:00
Roland Kovacs
ac30d36206
os/os2: Properly update CWD on Linux when using _process_start()
...
The `dir_fd` argument to `execveat()` is not for setting the current working
directory. It is used to resolve relative executable paths, hence explicit
`chdir/fchdir` call is required to set CWD.
2025-01-20 22:34:49 +01:00
jason
b73275cf42
Get arm64 up to speed in os2 linux
...
Readded open flags for arm64 to sys/linux/bits.odin. Make process_start
name based instead of descriptor based to allow running of scripts. Fix
bug in heap_linux. Fix and simplify os2.remove.
2024-12-19 17:12:07 -05:00
Laytan
563ed69c28
fix deadlock when in write_errno_to_parent_and_abort state
2024-10-04 13:24:14 +02:00
Karl Zylinski
19f0127e55
Moved all packages in core, base, vendor, tests and examples to use new #+ file tag syntax.
2024-09-14 18:27:49 +02:00
Laytan Laats
a0fe6da10b
os2: propogate errors from execv functions to parent
2024-08-25 18:01:33 +02:00
Laytan Laats
a66520ba57
os2: process API for Darwin and most of it for BSDs
2024-08-22 23:07:24 +02:00
gingerBill
40b8150a23
Minor clean ups
2024-08-16 12:47:23 +01:00
jason
07a9c69714
update core:filepath's clean, join and split_list to return optional Allocator_Errors
2024-08-16 01:48:27 -04:00
jason
0f052dbde7
os2/process_linux: improve error handling, use pidfd where possible, remove usage of fmt
2024-08-14 00:45:25 -04:00
jason
a52f7c129f
stop trying to handle child pipe read errors in process_start
2024-08-10 09:13:07 -04:00
jason
e54d6e5a11
Ignore process_open errors in process_start. This enforces a contract
...
with the user that any process returned without error must eventually be
waited on.
2024-08-10 09:03:34 -04:00
jason
f7a73b9555
fix error handling; close read end of the child pipe instead of the write end twice
2024-08-10 08:55:40 -04:00
jason
baacc512e3
fix child pipe in process_start
2024-08-09 15:21:11 -04:00
jason
c4d43bbab0
os2 linux process_wait rework; add Sig_Child_Code to sys/linux bits
2024-08-09 09:16:44 -04:00
jason
c3ba8fbd09
add child pipe for reporting post-fork errors
2024-08-08 08:56:29 -04:00
jason
c691c7dc68
point stdin, stdout, stderr to /dev/null if unused in os2.process_start
2024-08-04 01:47:10 -04:00
jason
2a7db08c20
Remove returned bool from access and faccessat in sys/linux.
...
Switch to using AT_EMPTY_PATH to execve with file descriptors.
2024-08-04 00:59:40 -04:00
jason
2b89829b52
minor edits in process_linux.odin
2024-08-03 18:08:00 -04:00
jason
38b96a7981
change child error behavior to trap instead of exit
2024-08-03 17:50:47 -04:00
jason
c7eb2ae6bb
use sys/linux dirent instead of manual iteration
2024-07-30 10:19:09 -04:00
jason
278a63caaa
remove pidfd availability caching
2024-07-30 09:28:40 -04:00
jason
a03dffcd1a
improve error handling; do not report errors from failed execve
2024-07-30 08:45:53 -04:00
jason
a5fa93e06d
remove ctprintf; use fmt.caprintf; fix pipe_linux that I broke.
2024-07-24 10:23:23 -04:00
jason
95a8a4e7f0
typo - inverted logic
2024-07-24 10:12:16 -04:00
jason
ecdd3887b2
fix process_info assumptions
2024-07-24 10:09:50 -04:00
jason
16bdc6d240
use more iterators; global "has pidfd open" state is now thread-safe
2024-07-24 08:43:22 -04:00
jason
0455e4b60f
remove unused constants; fix comment
2024-07-23 19:48:18 -04:00
jason
82deaa59ad
os2 linux: fix order of operations bug in _open; fix process_info routine
2024-07-23 17:50:30 -04:00
jason
3c7d1f35db
os2 process implementation for linux
2024-07-23 16:50:00 -04:00
gingerBill
24f9e2bbeb
Begin mocking out the linux stuff on os2
2024-07-23 16:06:14 +01:00