Potential fix for KillThread for sig>32.

This commit is contained in:
4lDO2
2025-04-17 13:15:34 +02:00
parent 3e58f6ad16
commit 771993b260
+3 -4
View File
@@ -1822,11 +1822,10 @@ impl<'a> ProcScheme<'a> {
};
tctl.sender_infos[sig_idx].store(sender.raw(), Ordering::Relaxed);
let bit = 1 << sig_idx;
let _was_new =
tctl.word[sig_group].fetch_or(sig_bit(sig), Ordering::Release);
if (tctl.word[sig_group].load(Ordering::Relaxed) >> 32) & sig_bit(sig) != 0
{
let _was_new = tctl.word[sig_group].fetch_or(bit, Ordering::Release);
if (tctl.word[sig_group].load(Ordering::Relaxed) >> 32) & bit != 0 {
*killed_self |= is_self;
let _ = syscall::write(
*thread.status_hndl,