Module Signals (v1)

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 and Kernel.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

See Also

Repository