Using the INLINE Facility
Initiating and Communicating With Processes
107365 Tandem Computers Incorporated
5–13
The following code stops an INLINE process as part of the _BREAK portion of an
exception handler:
|_BREAK|
#OUTPUT BREAK was pressed...terminating processing
#PUSH x
#SET x [#INLINEPROCESS] == get the INLINE process name
[#IF NOT [#EMPTYV x] |THEN|
#INLINEEOF
]
#POP x
#RESET FRAMES
#RETURN
Limitations of the INLINE Facility
Not all processes can interface with the INLINE facility. The following processes
cannot interface with INLINE:
Processes that use their home terminal (rather that IN and OUT) for their I/O;
therefore, their I/O cannot be intercepted by the INLINE facility.
Processes that do not accept IN, OUT, INV, or OUTV options.
Processes that use terminal block mode.
Some processes behave differently when run under the INLINE facility than when run
from a terminal, because some processes, when controlled by another process, change
their error handling, their output format, or the rules for some of their commands.
The output from some processes changes with the release of new Tandem software.
The input syntax and output formats can vary from release to release. If you process
text strings, reevaluate process-dependent code for new releases of software.
The INLINE option cannot be combined with the IN or INV options. The INLINE
option includes the effect of the NOWAIT option.
TACL allows more than one inline process to exist at a time, but you can communicate
with only the most recent one. You must delete the most recent INLINE environment
before you can communicate with its predecessor. To determine the name of the
current inline process, check #INLINEPROCESS. To set up an INLINE environment,
push the #INLINEPROCESS built-in variable. To delete the environment, issue an
#INLINEEOF and then pop #INLINEPROCESS (or unframe it).
The ability to push and pop #INLINEPROCESS allows you to write code that uses the
INLINE facility without regard to whether a program that calls your TACL code is
already using the facility. You can also use this mechanism to access multiple
processes within a single TACL program.