TACL Reference Manual
Built-In Functions and Variables
HP NonStop TACL Reference Manual—429513-018
9-343
#SERVER Built-In Function
#SERVER, initialize the IN variable for #SERVER to contain enough DEBUG or
INSPECT commands to ensure that the program gets past the point where it reads
its startup messages.
•
When communicating with a process, be careful to avoid race conditions.
Coordinate functions that enable communication (such as #SERVER) with
counterpart mechanisms in that process. Deadlock conditions can result if TACL
tries to open a process for communication at the same time that process is trying
to open TACL for communication.
•
If TACL is unable to allocate space in an OUT or PROMPT variable, the process
doing the WRITE or WRITEREAD receives a file-system error 45 (file is full).
•
If a server name is eliminated, any variables associated with the server remain the
same. Any processes that still have it open receive a file-system error 66 (device
downed) on subsequent I/O operations using the server name.
•
To create a server implicitly, run a program and supply and accept data using INV
or OUTV. For additional information, see #NEWPROCESS Built-In Function on
page 9-266 or the RUN[D|V] Command on page 8-156. An implicitly created server
remains in existence until its parent process terminates, or you can delete it using
#SERVER with the KILL option.
•
If you log off, all server files are deleted immediately.
•
To synchronize processes that use your TACL server, use the #WAIT built-in
function.
Examples
To create an access name for your TACL process:
#PUSH access_name in_var out_var prompt_var
#SET access_name [#SERVER /IN in_var, PROMPT prompt_var, &
OUT out_var/]