DTASK_APPLIC()
is called by any of the DTASK routines which need to activate the user’s application
code.
The code for DTASK_APPLIC
is built into the ADAM task linking scripts, alink
and ilink
, and is
modified by them to call the user’s top-level subroutine.
DTASK_APPLIC
copies information about the current action into the TASK common blocks, runs the
user’s code, runs down the parameter system if required and retrieves values, such as the action
sequence number, the action value string, the delay before next action entry and the application
request which may have been set by the user’s code. These are passed back to the ADAM fixed part
for appropriate action.
The code for DTASK_APPLIC
differs between alink
and ilink
in that the process of closing down the
parameter system, thus updating ‘GLOBAL’ parameters and resetting all parameters to the ‘ground’
state, does not occur with an ilink
ed task. (It may also be prevented with an alink
ed task by
setting the environment variable ADAM_TASK_TYPE
to ‘I’ in the task’s process when the task is
run.)
As can be seen from the above, although the user’s code will probably differ markedly in structure between A-tasks, A-task monoliths, I-tasks and control tasks, as far as the ADAM fixed part is concerned there is very little difference between them. (There are further differences in the way the parameter subsystem handles things. These are triggered by the structure of the task’s interface module.)