Wildan M
c8fce67873
Support SIGEV_SIGNAL and TIMER_ABSTIME
2025-10-16 22:37:24 +07:00
Wildan Mubarok
2efcd20fbc
Implement POSIX timer functions
2025-10-15 08:10:06 -06:00
4lDO2
24cf96393c
Expand Out wrapper and use it in utsname.
2025-10-05 20:01:12 +02:00
Jeremy Soller
82084440ad
Support nightly-2025-10-03
2025-10-03 21:51:10 -06:00
Wildan Mubarok
7416ba6ff3
Implement posix_getdents
2025-09-23 10:57:13 -06:00
Josh Megnauth
85c5e889fb
Implement fchmodat
...
Capability based `fchmod`. I also implemented unit tests for chmod,
fchmod, and fchmodat.
The unit tests check Redox-specific behavior, so some of the tests are
disabled for Linux.
2025-09-21 10:04:11 -04:00
Jacob Lorentzon
9c5f11fbc8
Add Out<T> wrapper
2025-09-21 14:36:12 +02:00
Josh Megnauth
c555503a35
Implement readlinkat
...
Like readlink except capability based. Most of this patch is refactoring
fstatat into a reusable, openat-like private function.
2025-09-18 01:27:55 +00:00
Josh Megnauth
28901b1b62
Impl AT_SYMLINK_NOFOLLOW and AT_EMPTY_PATH
...
AT_SYMLINK_NOFOLLOW acts on the symlink itself rather than following it.
AT_EMPTY_PATH acts on the directory if path is empty.
Currently, this is implemented in fstatat itself but the code is general
enough to be refactored once we get the other *at functions. It could
likely just live in openat itself.
2025-09-15 06:12:10 +00:00
Josh Megnauth
55c2e5b8ea
Fix renaming broken symbolic link
...
Closes : #212
The fix is simply to not follow links when opening a file to be renamed.
O_NOFOLLOW, a non-POSIX extension, does exactly that while not needing
renameat or openat.
2025-09-07 07:44:10 -04:00
Josh Megnauth
c899feb774
Implement fstatat
...
Linux's variant uses the syscall as intended. Redox's variant uses fpath
to build a path to pass to fstat from the file descriptor plus the file
name. Unlike the syscall, this isn't atomic so the liminal space between
fpath/getcwd and fstat is subject to TOCTOU.
Beyond fstatat, I moved the stat test to its correct location and added
an assert since the output of the test is unchecked.
I also added AT_FDCWD which seems to be -100 across Unixes. The other
AT_* constants are unimplemented for now.
2025-08-27 08:21:41 -04:00
Ron Williams
b7589a63c5
Fixes to improve signals for openposixtestsuite
2025-08-04 07:37:14 -06:00
James Matlik
19de978799
Fix issue with rename to relative destination
2025-06-12 08:56:21 -04:00
Jeremy Soller
0f3f6f3c15
Use flink to implement link on redox
2025-05-03 12:18:45 -06:00
4lDO2
32c5e89c82
Return ID of new session in setsid.
2025-04-20 17:10:51 +02:00
4lDO2
5dfc76dda8
Fix signal handlers after EINTR nanosleep.
2025-04-19 19:27:03 +02:00
4lDO2
d0335b30de
Use redox_rt::protocol for sig numbers.
2025-04-19 19:27:02 +02:00
4lDO2
a4dc232a33
Impl getres[ug]id C function.
2025-04-19 19:26:59 +02:00
4lDO2
8bd510ff59
Simplify [res][ug]id getters and setters.
2025-04-19 19:26:59 +02:00
4lDO2
88848c25fe
Add (backend todo) proc calls for kill+sigq.
2025-04-19 19:26:58 +02:00
4lDO2
f4a64cfbc3
Add setresguid.
2025-04-19 19:26:58 +02:00
4lDO2
9566a00ad1
WIP: waitpid and exit IPC calls.
2025-04-19 19:26:58 +02:00
4lDO2
26399569de
Reach init w/proc manager.
2025-04-19 19:26:57 +02:00
4lDO2
422a32690d
Replace removed syscalls with redox-rt stubs.
2025-04-19 19:26:57 +02:00
bjorn3
ea4c41686c
Rustfmt
2025-04-12 22:15:05 +02:00
Jeremy Soller
9a93fde7b5
Fix gettid on Redox
2025-04-10 13:18:33 -06:00
Josh Megnauth
51c04d2470
Use C string literals & deprecate c_str!
2025-03-14 21:17:53 -04:00
Ron Williams
c528c0885f
Make nanosleep and sleep handle interrupts correctly, plus fix alarm
2025-01-31 21:10:14 +00:00
Anhad Singh
0449c35e52
chore: fix formatting
...
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2024-12-31 01:23:51 +11:00
Anhad Singh
bc51d8e1d5
fix(pal/redox): use RwLock instead of InnerRwLock
...
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2024-12-31 01:07:36 +11:00
Josh Megnauth
6ec03b6f4a
fix: round_up_to_page_size overflow
...
Closes : #200
The spec doesn't define which error code to set if `len` is too large.
`ENOMEM` is the closest defined condition that fits:
>> [...] the range [addr,addr+len) exceeds that allowed for the address
space of a process [...]
Logically, `len` would lead to `addr` exceeding the address space of a
process if rounding it up to the next page size causes an overflow.
2024-11-26 00:37:12 -05:00
Peter Limkilde Svendsen
06fec0b843
Add various basic docstrings
2024-10-27 23:25:57 +01:00
4lDO2
57f098931a
Remove ld.so's now unnecessary access() wrapper.
2024-09-30 16:55:27 +02:00
4lDO2
eee603efa8
Remove the "-1 errno" e() function.
2024-09-27 15:35:04 +02:00
4lDO2
8b8b00da01
Use unsigned return values in read()-like Pal fns.
...
Returning a negative number of bytes makes absolutely no sense, besides
the "-1 and errno" pattern, which is now converted to Result<_, Errno>.
2024-09-27 10:39:26 +02:00
4lDO2
986754e7b3
Remove all remaining errno interfaces from Pal.
2024-09-27 10:29:32 +02:00
4lDO2
313b32c815
Switch almost all of Pal to Rusty error handling.
2024-09-27 10:19:44 +02:00
4lDO2
4b687c25d2
Convert more Pal methods to Result.
2024-09-26 16:24:01 +02:00
4lDO2
6e5959b3fa
Convert a bunch of c_int to Result<(), Errno>.
2024-09-26 16:21:34 +02:00
4lDO2
7fa5b679cc
Move umask to a regular global variable.
...
The umask value is per-process, so because all POSIX open-like functions
now occur via relibc, this is valid.
2024-09-25 19:39:41 +02:00
4lDO2
fed49a29af
Properly deallocate thread stack on pthread_exit.
2024-09-24 19:34:53 +02:00
4lDO2
f6761407e5
Pass si_pid to all realtime signals.
2024-09-24 19:34:51 +02:00
Kamil Koczurek
408a7b2ab6
Add capability to set the default scheme
2024-09-23 14:36:45 +00:00
Jeremy Soller
1ac8c4834b
Format
2024-09-19 16:09:11 -06:00
Jeremy Soller
1b7d059707
Add getrusage
2024-09-19 16:08:54 -06:00
4lDO2
a9f05d3c3c
Add trailing NUL byte check on Redox.
2024-09-12 16:10:25 +02:00
4lDO2
c0e7af5289
Backwards-compatibly rewrite getdents to use special syscall.
2024-09-11 23:32:19 +02:00
4lDO2
198caa3bc5
Rustify Sys::open and some fs:: error handling.
2024-09-11 23:22:32 +02:00
4lDO2
4bd0d2a1ef
Move pthread::Errno to separate module.
2024-09-11 23:22:29 +02:00
bjorn3
49c708f537
Remove all uses of the legacy scheme syntax"
2024-08-04 13:49:10 +02:00