10 Sending Internal Messages

A set of routines are provided to enable a task to send messages to itself. ams_kick() is intended to enable main-line code to queue a message which it can subsequently collect by using ams_receive().

The other functions are intended only for calling from within signal handlers. ams_resmsg(), ams_astmsg() and ams_astint() generate messages to be read by ams_receive() but ignored by ams_getreply().

ams_extint() generates a message which can be received by either ams_receive() or ams_getreply() (its main purpose is to allow user interfaces to be implemented).

At the receiving end, these messages result in the appropriate value of message_status, one of:

MESSYS__KICK
MESSYS__RESCHED
MESSYS__ASTINT
MESSYS__EXTINT