Commit Graph

41 Commits

Author SHA1 Message Date
Lucas Perlind
f5b947ea73 Fix linux 2025-05-08 17:45:29 +10:00
Lucas Perlind
9f2d008a8a Remove TEMP_ALLOCATOR_GUARD wrapper 2025-05-08 17:41:03 +10:00
Lucas Perlind
b9db1dd3e0 os2: Resolve temp allocator collisions 2025-05-08 17:41:01 +10:00
Laytan
7c1a9f1e7a Merge pull request #5127 from laytan/fix-process-windows-handles-handling
Fix process windows handles handling
2025-05-06 22:31:54 +02:00
laytan
9b218a2922 don't need to hang on to the null handle 2025-05-06 19:42:52 +02:00
Laytan
bf5206968a close null_handle 2025-05-06 20:57:26 +02:00
Jeroen van Rijn
0f2a4b80ef Proper fix for executable name on Linux. 2025-05-04 01:05:10 +02:00
Jeroen van Rijn
deededfb0a Fix executable_path info on Linux 2025-05-04 00:21:20 +02:00
Feoramund
4e7f54c565 Decouple usage of filepath from os2 2025-03-21 19:14:15 -04:00
Feoramund
b2e3b34ce0 Fix #4890
`strings.to_cstring` previously would not check if the buffer could
handle the extra null byte and could lead to segmentation violations
when using the resulting string in an API expecting the terminator.
2025-02-27 18:54:38 -05:00
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