Commit Graph

4816 Commits

Author SHA1 Message Date
R Aadarsh 789be35518 Add comments to cbindgen.toml 2026-06-15 17:08:11 +05:30
R Aadarsh 1ff7d7bba0 * Fix pgroup inheritance
* Remove unnecessary nesting

* Make the child process explicitly inherit parent's u/g id
2026-06-15 17:08:11 +05:30
R Aadarsh 5891ae023e Change number of characters 2026-06-15 17:08:11 +05:30
R Aadarsh 58fefac9f5 Enable sched params change 2026-06-15 17:08:11 +05:30
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 6d14437f34 Implement u/g id change based on executable's s(u/g)id mode bit 2026-06-15 17:08:11 +05:30
R Aadarsh 0d127d3652 Add more tests 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 4ea8f329b6 Remove unused constants 2026-06-15 17:08:11 +05:30
R Aadarsh 72ee48df3f Change file_actions implementation to mirror other pthread 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 8c65ed481a Make path to be owned 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 38af072426 Implement chdir and fchdir operations 2026-06-15 17:08:11 +05:30
R Aadarsh db5eeb7c20 Remove call to close, instead make the kernel remove the file 2026-06-15 17:08:11 +05:30
R Aadarsh a6e1b269af * Make dup2 work
* Use `CloseCloExec` for closing O_CLOEXEC files
2026-06-15 17:08:11 +05:30
R Aadarsh 4df38b6f0d * Implement open operation
* Comment out the code for dup2
2026-06-15 17:08:11 +05:30
R Aadarsh 0810991d7d Do the requested sigmask changes and u/g id changes 2026-06-15 17:08:11 +05:30
R Aadarsh 0e5210cb4d Make close operation work 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 ad83227225 Change the posix_spawn_file_actions_t struct to use a linked list instead of an array 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
Mathew John Roberts 0dd5cf597a Merge branch 'remove-redundant-includes' into 'master'
remove redundant includes

See merge request redox-os/relibc!1462
2026-06-15 12:33:33 +01:00
auronandace 507264f5bb remove redundant includes 2026-06-15 07:49:47 +01:00
Mathew John Roberts 19fd9d70ff Merge branch 'sysuio-doc' into 'master'
add descriptions to sys_uio functions and associated unistd functions

See merge request redox-os/relibc!1460
2026-06-15 07:16:39 +01:00
auronandace 297bc7bd62 add TODO notes for Non-POSIX functions and include 2026-06-14 14:29:32 +01:00
auronandace 60e301360c add descriptions to sys_uio functions and associated unistd functions 2026-06-14 14:18:25 +01:00
Jeremy Soller 51819dac36 Merge branch 'crypt-questionmark' into 'master'
replace an explicit return with question mark

See merge request redox-os/relibc!1458
2026-06-12 15:29:14 -06:00
Jeremy Soller 71d29a94b7 Merge branch 'xopen-namepath-max' into 'master'
move and document some constants

See merge request redox-os/relibc!1459
2026-06-12 15:29:09 -06:00
auronandace 999001db98 move and document some constants 2026-06-12 18:22:29 +01:00
auronandace 0816e07a5d replace an explicit return with question mark 2026-06-12 17:25:53 +01:00
Jeremy Soller 5f7a1a5c14 Merge branch 'casting-ascii' into 'master'
avoid as casting ascii bytes to c_char

See merge request redox-os/relibc!1457
2026-06-12 06:02:47 -06:00
auronandace ecb081d8bd add descriptions and pick a better function name 2026-06-12 11:13:06 +01:00
auronandace 0dc5247ff6 revert const for now 2026-06-11 18:10:28 +01:00
auronandace 4882c450d8 apply ByteLiteral abstraction 2026-06-11 18:01:25 +01:00
auronandace 40d2512728 test with into 2026-06-11 17:34:32 +01:00
auronandace e27345d93a cargo fmt 2026-06-11 17:22:53 +01:00
auronandace 2e72022a26 add and test ByteLiteral abstraction 2026-06-11 17:19:33 +01:00
Jeremy Soller 1ff9fd392b Merge branch 'ignored-unit-patterns' into 'master'
apply ignored_unit_patterns clippy lint

See merge request redox-os/relibc!1456
2026-06-11 09:25:03 -06:00
auronandace 40767a44fa avoid as casting ascii bytes to c_char 2026-06-11 15:06:06 +01:00
auronandace fd09491c4a apply ignored_unit_patterns clippy lint 2026-06-11 14:00:24 +01:00
Jeremy Soller c645cfc9ac Merge branch 'iov-max' into 'master'
move IOV_MAX to limits header

See merge request redox-os/relibc!1455
2026-06-11 06:54:24 -06:00
Jeremy Soller 8f28f07359 Merge branch 'sysresource-descriptions' into 'master'
add descriptions to the functions in the sys_resource header

See merge request redox-os/relibc!1454
2026-06-11 06:38:33 -06:00