GDSX (Extended General Device Support) Manual
DEVICE^HANDLER Example, Running and
Managing
Extended General Device Support (GDSX) Manual—529931-001
4-3
Running Two Requesters
2. Reverse the text string that was input at the prompt.
3. Issue a waited WRITE of the reversed string to the file and delay two seconds.
Later in this section the APPLS application is used similarly to communicate with a
terminal, but with an intermediate GDSX process doing datastream conversion,
changing all lowercase text sent to the terminal to uppercase text. Although this
conversion is trivial, it serves to demonstrate how GDSX can be used to do datastream
conversion.
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 Section 6,
LINE^HANDLER Example, Running and Managing and Section 7, LINE^HANDLER
Example, Design) 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
(Section 4, DEVICE^HANDLER Example, Running and Managing and Section 5,
DEVICE^HANDLER Example, Design) and the LINE^HANDLER example (Section 6,