Wildan M
b5e764d967
Fix posix_spawn launching sh script
2026-06-23 12:22:31 +07:00
Wildan M
c234ace91d
Use ArrayString for Cwd
2026-06-22 22:13:24 +07:00
Mathew John Roberts
4e4ed8b8c7
Merge branch 'dis-spawn-test' into 'master'
...
Disable spawn test temporarily
See merge request redox-os/relibc!1484
2026-06-21 19:37:51 +01:00
Wildan M
c47b492717
Disable spawn test temporarily
2026-06-21 14:54:58 +07:00
Wildan M
73a8c843a8
Fix relative program path handling in posix_spawn
2026-06-21 14:12:05 +07:00
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
Mathew John Roberts
09ae605623
Apply 1 suggestion(s) to 1 file(s)
...
Co-authored-by: Wildan Mubarok <willnode@wellosoft.net >
2026-06-18 13:02:25 +01:00
auronandace
d0760c2b90
fix amount
2026-06-18 12:25:40 +01:00
auronandace
c84f1f41fb
use SYMLOOP_MAX in resolve_sym_links in redox path
2026-06-18 12:06:56 +01:00
Mathew John Roberts
da55b3be0e
Merge branch 'spawn' into 'master'
...
Add support for `posix_spawn` and `posix_spawnp` (Redox OS)
Closes #192
See merge request redox-os/relibc!1333
2026-06-17 06:18:59 +01:00
auronandace
f5c0c1a9c9
split out ucred to a bits header
2026-06-16 08:04:26 +01:00
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
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
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
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
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
auronandace
94b2f29beb
tackle various clippy lints
2026-06-05 14:36:06 +01:00
sourceturner
e39106835a
fix compiler warnings
2026-06-04 17:33:37 +02:00
Wildan M
959e7d6cca
Implement event timeout with EVENT_TIMEOUT_ID
2026-05-30 01:03:37 +07:00
Ibuki Omatsu
c2bcf91339
feat: Implement relpathat
2026-05-27 16:36:44 +02:00
sourceturner
4b4dc2ce94
implement housekeeping for posix timers
2026-05-24 19:14:02 +02:00
sourceturner
d16183732c
use raw borrow operator instead of pointer cast
...
clippy dislikes the pointer cast - let's make clippy happy
2026-05-24 19:12:05 +02:00
Wildan M
c4924fba79
Workaround epoll edge cases
2026-05-21 11:06:54 +07:00
Jeremy Soller
e3514fa329
Merge branch 'shm' into 'master'
...
Implement key_t, sys/ipc and sys/shm
See merge request redox-os/relibc!1367
2026-05-20 10:11:58 -06:00
Jeremy Soller
6ef45672d1
Merge branch 'fix-fstatat' into 'master'
...
fix: Fix fstatat by passing O_PATH when calling openat2
See merge request redox-os/relibc!1362
2026-05-20 06:29:10 -06:00
Wildan M
bc6ea5ba99
Implement key_t, sys/ipc and sys/shm
2026-05-20 18:51:53 +07:00
Ibuki.O
0e2f24125a
fix: Fix fstatat by passing O_PATH when calling openat2
2026-05-20 12:11:11 +09:00
Wildan M
4a7f2d80ff
Avoid StringWriter cast and string format
2026-05-20 09:10:25 +07:00
David Finder
1dbc61932a
Alarm fix
2026-05-18 16:52:04 -06:00
Wildan M
519bc8ebc8
Remove ld.so cache
2026-05-13 07:11:36 +07:00
Speedy_Lex
eff610eac6
Fix many clippy lints
2026-05-07 00:05:07 +02:00
auronandace
e1d26137b4
eliminate export function for struct iovec
2026-05-06 08:57:33 +01:00
Connor-GH
e2486379b1
Remove redundant code and impl them in terms of *at functions
...
The following functions were replaced with their *at variants or
similar:
- lstat -> lstat -> fstatat
- stat -> stat -> fstatat
- fstat -> fstatat
- fchmod -> fchmodat
- fchown -> fchownat
- lchown -> fchownat
- mkfifo -> mkfifoat
- open -> openat
- renameat -> renameat2
- rmdir -> unlinkat
- unlink -> unlinkat
- symlink-> symlinkat
The `open_flags` logic for fstatat was redundant, as this is already
handled (and better so) in `openat2`.
Additionally, the fstatat test succeeds in os-test, and no longer
returns EINVAL. This is because `O_SYMLINK` is no longer
unconditionally passed like it was before. This is a problem because
redoxfs returns EINVAL if a node isn't a symlink but set `O_SYMLINK`.
2026-05-05 15:30:46 -05:00
Connor-GH
03103893ef
add utimensat
...
This addition removes duplicated code and also passes an os-test.
The `AT_EMPTY_PATH` duplicated code will be taken care of in the future.
2026-05-05 10:42:32 -05:00
Wildan M
90cb143523
Unify alarm implementation
2026-05-05 09:35:50 +07:00