next up previous 68
Next: Handling GSOCC Messages
Up: ADAM The Control Subsystem
Previous: Receiving Control Messages

Message Types

In a normal message (message function MESSYS__MESSAGE) received by an ADAM task, the message status MSGSTATUS indicates the action required.
MSGSTATUS = SAI__OK
indicates the message is a `GSOCC' message, the message context, CONTEXT indicates which one of:
GET
Requesting a parameter value from the task.
SET
Setting a parameter value for the task.
OBEY
Requesting that an action is obeyed.
CANCEL
Requesting that an action in a waiting state is cancelled.
CONTROL
Requesting that a control function be performed.

Permitted control functions are:

DEFAULT
to set the task's current working directory.
SETENV
to set the value of an environment variable in the task's process.
PAR_RESET
to reset all parameters, or parameters of a named action in a monolith, back to the `ground' state. For a discussion of parameter states, see SUN/114.
N.B. DEFAULT and SETENV are required because tasks are run in separate processes, therefore (under Unix anyway) changing the current working directory or environment variables of the controlling process will not alter them for any existing subsidiary tasks.
See Handling GSOCC Messages for more details.
MSGSTATUS not SAI__OK
may be:
MESSYS__EXTINT
This should not happen in a task - the facility is for use by user interfaces. An error report is made and the event ignored.
MESSYS__RESCHED
A timer has expired in this task and AMS_REMSG() has been called. DTASK_TIMEOUT() is called to handle the message. It checks that the specified action is active and that the reschedule was expected. If all is OK, the action is obeyed (DTASK_OBEY()).
MESSYS__ASTINT
An AST has fired in this task and AMS_ASTINT() or AMS_ASTMSG() has been called. DTASK_ASTINT() checks the action and obeys it if OK (DTASK_OBEY()).
MESSYS__KICK
Subroutine AMS_KICK() has been called by this task to run one of its actions. DTASK_KICK() checks the action and obeys it if OK (DTASK_OBEY()).
Other > 0
May be from a subsidiary task. See Messages from Subsidiary Tasks for more details.
MSGSTATUS < 0
An MSP error, set STATUS to terminate loop.



next up previous 68
Next: Handling GSOCC Messages
Up: ADAM The Control Subsystem
Previous: Receiving Control Messages

ADAM The Control Subsystem
Starlink System Note 77
A.J. Chipperfield
16 August 2001
E-mail:ussc@star.rl.ac.uk

Copyright © 2000 Council for the Central Laboratory of the Research Councils