Implement signal handling framework (part 1)
A multi-threaded-style OS for the Spectrum +3
Brought to you by:
u6c87
To handle signals, we need a method of sending them (the kill() system call) and a way of catching them. The latter needs to be done in two places:
The latter ensures that a process which is busy in userland responds to a signal quickly.
The inital implementation deals with the necessary mechanics in the kernel syscall handler and the kill() system call, with initially only the SIGKILL signal doing anything (although due to the way sleep() is currently implemented, any signal will terminate the sleep).
A future change will implement the framework for setting up a signal handler from a userland process, and some form of signal masking.