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
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
Kamil Koczurek
408a7b2ab6
Add capability to set the default scheme
2024-09-23 14:36:45 +00:00
4lDO2
933b447c7a
redox-rt: fix i686 pctl pending offset
2024-08-29 14:11:52 +02:00
Peter Limkilde Svendsen
3193656f22
Put random() state behind mutex
2024-08-15 23:26:16 +00:00
bjorn3
49c708f537
Remove all uses of the legacy scheme syntax"
2024-08-04 13:49:10 +02:00
4lDO2
5f62c30539
Update aarch64's child_hook.
2024-07-20 22:18:25 +02:00
4lDO2
f7d9f4e21e
Fix infinite loop & spurious signals for i686.
2024-07-20 19:41:04 +02:00
4lDO2
b71c34dd2d
Fix i686 fork.
2024-07-20 14:42:51 +02:00
4lDO2
35c9485701
WIP: Implement process signals for i686 trampoline.
2024-07-20 13:01:30 +02:00
4lDO2
232f6e9ade
Fix hardcoding of SUPPORTS_AVX.
2024-07-19 18:44:21 +02:00
4lDO2
518ba4c884
Raise unblocked signals in setmask, restore control flag.
2024-07-19 18:41:00 +02:00
4lDO2
44ec1676ae
Activate new threads' TCBs early.
2024-07-18 23:59:48 +02:00
4lDO2
1067295d65
Fix signal restart logic.
2024-07-18 23:59:48 +02:00
4lDO2
6dd9332af2
WIP: Handle spurious signals properly.
...
These can occur in the following scenario:
- thread 1 has blocked signal A
- thread 2 has not blocked signal A
- signal A is sent to a process with thread 1 and thread 2
- thread 1 is simultaneously unblocking signal A, and thus jumps to the
trampoline
- thread 2 is awoken, but thread 1 won the "fetch_andn" to clear the
signal bit.
If the signal asm is jumped to automatically after each timer interrupt,
this scenario will also be relatively common due to that.
2024-07-18 23:59:48 +02:00
4lDO2
ff7eace6a7
Obtain offset of sig pctl more sanely.
2024-07-18 23:59:48 +02:00
4lDO2
ac5ac928f2
Implement raise() using pthread_kill.
2024-07-18 23:59:48 +02:00
4lDO2
4354bc94e8
Fix process-targeted signals.
2024-07-18 23:59:47 +02:00
4lDO2
15cdc4e0aa
Fix (modified) audiod.
2024-07-18 23:59:47 +02:00
4lDO2
d00ec085e1
WIP: Support receiving process-targeted signals.
2024-07-18 23:59:47 +02:00
4lDO2
0b3be2d190
Write correct value to kernel when exiting thread.
2024-07-18 23:59:47 +02:00
4lDO2
4cb6644181
Implement exit_this_thread on Redox.
2024-07-18 23:59:47 +02:00
4lDO2
c286dd6d33
Use new-thread proc API
2024-07-18 23:59:47 +02:00
4lDO2
dfb234079e
Fix signal fxrstor offset.
2024-07-16 14:46:09 +02:00
4lDO2
22cab7ca8d
Fix errors on non-x86_64.
2024-07-16 13:32:18 +02:00
4lDO2
17cb748217
Implement syscall restart for waitpid.
2024-07-16 12:48:14 +02:00
4lDO2
4c20a9abb2
Enable syscall restart in futex_wait.
2024-07-16 11:55:06 +02:00