GDSX Manual

DEVICE^HANDLER Example, Running and
Managing
Extended General Device Support (GDSX) Manual134303
4-3
Running Two Requesters
At the application terminal, press CTRL/Y. On the screen you see the following:
EOF!
APPLICATION STOPPING
If you press CTRL/Y at the prompt, file-system error 1 returns from the WRITEREAD,
the above message is written to the terminal, and the requester closes the file and stops
itself. The cursor moves to the far left-hand side of the application terminal’s screen.
Then press the Break key at the application terminal to get a TACL prompt.
To verify that the requester process is gone, enter the following at the TACL terminal
enter:
> STATUS *, TERM
Running Two Requesters
Make sure that the TACL process is paused at the application terminal.
At the TACL terminal, start a requester process named $A1:
> RUN APPL /NAME $A1, OUT $TC1, NOWAIT/
Then run another process named $A2, directed to the same OUT file:
> RUN APPL /NAME $A2, OUT $TC1, NOWAIT/
Enter text strings as before, and watch how the two threads interfere with each other.
(After you enter the first string, you probably see no output, just another prompt; simply
enter another string.) The LINE^HANDLER procedure discussed in Sections 6 and 7
makes it possible to communicate with a shared file without having the threads interfere
with each other.
Stop both requester processes by pressing CTRL/Y at both prompts.
In the next part of this tutorial you will generate the GDSX process used for both the
DEVICE^HANDLER and LINE^HANDLER examples.
Generating the Example GDSX Process
When generating the GDSX process used for both the DEVICE^HANDLER example
(Sections 4 and 5) and the LINE^HANDLER example (Sections 6 and 7), use the
following files from a GDSX installed subvolume:
File Description
DCCBDECS Source file containing global variables and other common
declarations
ULHDECSE
Source file containing declarations specific to the example program
PEXTGDS
Another source file containing external declarations for procedures
within TSCODE