Commit Graph

2348 Commits

Author SHA1 Message Date
4lDO2 eee603efa8 Remove the "-1 errno" e() function. 2024-09-27 15:35:04 +02:00
4lDO2 070b4cd05c Switch PalPtrace to Rusty error handling. 2024-09-27 15:35:04 +02:00
4lDO2 d474163e0e Switch to Rusty error handling in PalSocket. 2024-09-27 15:35:01 +02:00
Jeremy Soller 1679aadfad Merge branch 'pal_errno' into 'master'
Eliminate all errno-based error handling in the Pal trait

See merge request redox-os/relibc!515
2024-09-27 13:03:30 +00:00
4lDO2 4da5ad37d1 Convert PalEpoll to Rusty error handling. 2024-09-27 11:22:36 +02:00
4lDO2 1a46a24c70 Rustify PalSignal error handling. 2024-09-27 11:12:19 +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
Jeremy Soller 549bdc5c72 Merge branch 'pal_errno' into 'master'
Change a bunch of Pal functions to use Rusty error handling

See merge request redox-os/relibc!514
2024-09-26 16:47:30 +00: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
Jeremy Soller 509c4520a5 Merge branch 'umask' into 'master'
Preserve umask across execv.

See merge request redox-os/relibc!512
2024-09-25 19:01:05 +00:00
4lDO2 ec216e56e2 Preserve umask across execv. 2024-09-25 20:28:50 +02:00
Jeremy Soller 47f44ee12f Merge branch 'umask' into 'master'
Move umask to a regular global variable.

See merge request redox-os/relibc!511
2024-09-25 17:54:01 +00: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
Jeremy Soller a736f596b9 Merge branch 'sigq' into 'master'
Implement realtime signals and remaining signal.h APIs

See merge request redox-os/relibc!493
2024-09-24 18:44:08 +00:00
4lDO2 293b041ea7 Move psignal test to correct (non-expect) category. 2024-09-24 19:34:53 +02:00
4lDO2 79e1550215 Use only sig & 63 when checking SA_ONSTACK. 2024-09-24 19:34:53 +02:00
4lDO2 fed49a29af Properly deallocate thread stack on pthread_exit. 2024-09-24 19:34:53 +02:00
4lDO2 af6435e12d Implement psignal and psiginfo. 2024-09-24 19:34:53 +02:00
4lDO2 2b7a1ea94b Fix sigsuspend and add it to the sigqueue test. 2024-09-24 19:34:53 +02:00
4lDO2 9701e9c544 Add sigtimedwait to test, and various fixes. 2024-09-24 19:34:53 +02:00
4lDO2 5c78356290 Implement sigtimedwait on Redox. 2024-09-24 19:34:52 +02:00
4lDO2 8e5ddbd654 Implement sigsuspend. 2024-09-24 19:34:52 +02:00
4lDO2 33f0df3b27 Deduplicate and simplify sigprocmask code. 2024-09-24 19:34:52 +02:00
4lDO2 21d23092cd Mostly fix i686. 2024-09-24 19:34:52 +02:00
4lDO2 e82ced6e4e Fix non-edge-case signal handling on aarch64. 2024-09-24 19:34:52 +02:00
4lDO2 d6396cb4e8 Probably complete aarch64 asm.
It contains all signal logic x86_64 already has, although statistically
it will certainly have a few errors.
2024-09-24 19:34:52 +02:00
4lDO2 9a7cfaeaf1 Simplify aarch64 asm slightly. 2024-09-24 19:34:52 +02:00
4lDO2 e860a19e8f WIP: Update i686 signal asm. 2024-09-24 19:34:52 +02:00
4lDO2 09108634cf Set uc_stack properly.
POSIX does not appear to explicitly mention that this should be the
sigaltstack, but other Linux appears to treat it as the sigaltstack.
2024-09-24 19:34:52 +02:00
4lDO2 30caf55429 Set siginfo_t.si_{pid,uid} from kill signals too. 2024-09-24 19:34:51 +02:00
4lDO2 e5136e66c1 Draft of updated aarch64 signal trampoline. 2024-09-24 19:34:51 +02:00
4lDO2 d0db6a1ce0 Fix i686. 2024-09-24 19:34:51 +02:00
4lDO2 f6761407e5 Pass si_pid to all realtime signals. 2024-09-24 19:34:51 +02:00
4lDO2 6fe7c264f6 Pass si_code to siginfo_t struct. 2024-09-24 19:34:51 +02:00
4lDO2 cce268afbf Pass old stack pointer in uc_stack. 2024-09-24 19:34:51 +02:00
4lDO2 cdae79c129 Fix i686 compilation. 2024-09-24 19:34:51 +02:00
4lDO2 abc2ec7bb5 Add prototype ucontext_t support. 2024-09-24 19:34:51 +02:00
4lDO2 b48da5622d Add rtsig to i686 trampoline too. 2024-09-24 19:34:50 +02:00
4lDO2 13e7b77643 Implement basic support for (kernel) rt signals. 2024-09-24 19:34:50 +02:00
4lDO2 47e07654cb WIP: use rt signal constants from sigabi 2024-09-24 19:34:50 +02:00
4lDO2 75b2dcaa45 WIP: implement sigqueue 2024-09-24 19:34:23 +02:00
Jeremy Soller 1e97bae11b Merge branch 'kek/chroot3' into 'master'
Add capability to set the default scheme

See merge request redox-os/relibc!510
2024-09-23 14:36:45 +00:00
Kamil Koczurek 408a7b2ab6 Add capability to set the default scheme 2024-09-23 14:36:45 +00:00
Jeremy Soller 97b8c1cee1 Merge branch 'ptr-iter' into 'master'
Implement iterators on pointers

See merge request redox-os/relibc!507
2024-09-22 23:42:28 +00:00
Peter Limkilde Svendsen 0a23acd401 Implement iterators on pointers 2024-09-22 23:42:28 +00:00
4lDO2 7e38bb1476 Fix Linux compilation. 2024-09-21 13:42:43 +02:00
Jeremy Soller 4d29614ea8 Better stub for sigsuspend on redox 2024-09-19 21:01:07 -06:00