Commit Graph

17 Commits

Author SHA1 Message Date
Wildan M 5779743a9a Remove posix_spawn string allocation 2026-06-20 12:31:32 +07:00
Wildan M 56d5fe6bce Fix posix_spawn various issues 2026-06-20 07:05:28 +07:00
auronandace 35425db05e add descriptions to the spawn header functions 2026-06-17 13:07:08 +01:00
auronandace e69aba445e spawn header cleanup 2026-06-17 07:43:35 +01:00
R Aadarsh 484fe42c0e * Add docs
* Change safety signatures

* Change tests

* Correctly set u/g id
2026-06-15 17:08:11 +05:30
R Aadarsh ad151e0de8 * Correctly determine argv[0]
- If the function called is `posix_spawnp`, and the passed program name **does not** contain a slash, the path is used unmodified, and the path to the directory containing the program on $PATH is prepended to the program's path and assigned to `argv[0]. If the program name **does** contain a slash, the path is absolutised relative to CWD, and assigned to argv[0]

    - If the function called is `posix_spawn`, the behaviour is as described above in the case where path contains a slash

* Add initial tests
2026-06-15 17:08:11 +05:30
R Aadarsh f59e292744 Change spawn to use CString. String not-being null-terminated prevented files on PATH from being opened. 2026-06-15 17:08:11 +05:30
R Aadarsh 632c8302a4 Change assertions and panics to display ERRNO 2026-06-15 17:08:11 +05:30
R Aadarsh a941458ba0 Remove the use of platform::redox::path 2026-06-15 17:08:11 +05:30
R Aadarsh fefea0f0a9 Make code safer by disallowing NULL argv, empty argv and NULL values for pointer arguments to functions 2026-06-15 17:08:11 +05:30
R Aadarsh 91933b4165 * Change Operation to Action
* Change the linked list to a `Vec<Action>`

* Make functions unsafe
2026-06-15 17:08:11 +05:30
R Aadarsh 2df7484e6c * Make posix_spawnp consider the program argument as a path if it contains a slash
* Remove existence and file type check

* Make envp optional

* Ensure that the CWD of the calling process is same before and after spawning
2026-06-15 17:08:11 +05:30
R Aadarsh e3d2257f64 * Make posix_spawn_file_actions_t an iterator
* Fix bug that caused the spawned process to not start

* Make the spawned process inherit the parent's file descriptos
2026-06-15 17:08:11 +05:30
R Aadarsh 88185cbd8d Make posix_spawnp work 2026-06-15 17:08:11 +05:30
R Aadarsh 119f078216 * Fix bug that caused pid of the child process to be returned instead of 0 or errorno
* Add `same_process` field to not change the address space when `fexec_impl` is called on a different process
2026-06-15 17:08:11 +05:30
R Aadarsh 1bc472e7e1 Add posix_spawn and posix_spawnp for RedoxOS 2026-06-15 17:08:11 +05:30
R Aadarsh df78820f01 Add posix_spawn_file_actions_t and posix_spawnattr_t and tests 2026-06-15 17:08:11 +05:30