Purpose
- Synchronisation by
- awaiting a signal from another thread
- sending a signal to another thread
- Only among threads of the same kernel, ie. on the same core
- Both awaiting and sending are “anonymous”, that is, neither of the threads needs to know the identity of the other
- Signals don’t carry message payload
Notes
- There’s no specific signal support by the kernel (yet) for signals, which simply rely on
Kernel.SuspendMe
andKernel.Enable
. Signals could be added as yet another trigger cause, which would also allow, for example, timeouts. - Based on concepts from Programming in Modula-2, N. Wirth, 3rd edition, 1985