Running a TACL Process as a Server
Running TACL as a Server
107365 Tandem Computers Incorporated
6–3
Figure 6-1. Starting and Sending Requests to a TACL Server (Page 2 of 2)
[#LOOP |DO|
#SET temp_var [#INPUT Enter Command:]
[#IF [#MATCH EXIT [#SHIFTSTRING /UP/ [temp_var]]] |THEN|
#SET #INPUTEOF -1
|ELSE|
== Send a command to the background TACL
#APPENDV write_var temp_var
]
|UNTIL| [#INPUTEOF]
]
SINK [#REQUESTER CLOSE write_var]
#UNFRAME
When you run
runsrv
, it displays the following:
10> runsrv
Enter Command:
You can then enter a TACL command or built-in function. To exit, type Control-Y.
When TACL starts the background process, that TACL process logs on under its
process accessor ID. The background process in Figure 6-1 accepts the standard set of
TACL commands and built-in functions; to create a TACL server that runs your code,
see the next subsection, “Running TACL Code as a Server.”
When TACL is operating as a server, it queues messages if they arrive while TACL is
already working on a message. The depth of this queue is limited solely by the
availability of space in the TACL segment. If the message cannot be queued, TACL
responds with file-system error 45 (file is full).
When the number of processes that have the TACL process open goes from nonzero to
zero, and #INPUT(V) detects that transition, #INPUTEOF is set to a nonzero value. If
the transition is detected in response to a prompt generated by TACL itself, #EXIT is
set to a nonzero value. This behavior is analogous to that which occurs when end-of-
file (EOF) is reached on the IN file when TACL is not operating as a server.