Guardian Application Conversion Guide
Using TACL Built-in Functions
Converting TACL Programs
7–8 096047 Tandem Computers Incorporated
Using TACL Built-in
Functions
This subsection describes variances between the effect of TACL built-in functions on a
C-series system and the effect of the same built-in functions on a D-series system.
Specifically, the following variances in the D-series TACL language might affect your
TACL programs:
The #STOP built-in function can return additional error numbers when issued
with the ERROR option
The #NEWPROCESS and #PROCESS built-in functions return a node name with a
process file name or CPU, PIN only in certain circumstances.
Checking the Error When
Stopping a Process
Your TACL program might stop a process using the #STOP built-in function and
check the result for a file-system error:
#SET error [#STOP /ERROR/ $proc]
[#IF error <> 0 |THEN|
== handle error here
]
The D-series TACL process returns value 638 or 639 if the process has been queued for
stopping but not actually stopped. If you do not consider these results to be errors,
then you should convert your code appropriately:
#SET error [#STOP /ERROR/ $proc]
[#IF error <> 0 |THEN|
== don't consider it an error if the process has been
== queued for stopping:
[#IF error <> 638 or error <> 639 |THEN|
== handle error here
]
]
Returning a Node Name
From #NEWPROCESS or
#PROCESS
Your TACL program might use the #NEWPROCESS or #PROCESS built-in functions
and expect a process file name or CPU,PIN to be returned with a node name in front of
it. In the D-series TACL language:
For #NEWPROCESS, the node name is returned only if the process is created on a
remote node and the process was started in a NOWAIT manner.
For #PROCESS, the node name is returned only if the default process is remote, or
if the current current defaults specify a remote node name.
You might need to convert your TACL program to allow for the absence of the node
name in all other cases.