SchOS/include
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Nexoniarz 6bfb367090 signals: a blocked signal stays pending instead of killing
sigsend() ended a process for a default-fatal signal (SIGUSR1, SIGTERM,
SIGINT...) on arrival, whatever its signal mask said. Blocking is
exactly the promise that it will not: the signal waits until it is
unblocked, or until the program takes it some other way -- which is
what signalfd is, and how this was found.

A blocked signal is now only made pending. If it is later unblocked
while still pending, deliver_signals() applies the default action
then. SIGKILL cannot be blocked, as before.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01S1giNvrHTrPMPw7V6x1kQ4
2026-10-24 10:59:52 +02:00
..
arch kernel: load at 16 MB, clear of what firmware keeps low 2026-10-24 00:13:53 +02:00
core signals: a blocked signal stays pending instead of killing 2026-10-24 10:59:52 +02:00
dev include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
fs include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
gfx include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
net include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
uapi include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00