1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-28 19:15:09 +00:00

Kernel: Block a signal from being dispatched again until handler returns.

We don't handle nesting yet, but this is a step in the right direction.
This commit is contained in:
Andreas Kling 2019-03-05 10:34:08 +01:00
parent b67d0a3632
commit 251293f2e1
6 changed files with 110 additions and 69 deletions

View file

@ -221,6 +221,8 @@ static dword handle(RegisterDump& regs, dword function, dword arg1, dword arg2,
return current->sys$release_shared_buffer((int)arg1);
case Syscall::SC_chown:
return current->sys$chown((const char*)arg1, (uid_t)arg2, (gid_t)arg3);
case Syscall::SC_restore_signal_mask:
return current->sys$restore_signal_mask((dword)arg1);
default:
kprintf("<%u> int0x80: Unknown function %u requested {%x, %x, %x}\n", current->pid(), function, arg1, arg2, arg3);
break;