The Question is:
Section 184.108.40.206 of the I/O Users guide deals with Programming [LAT] Application
Ports. It describes a return status of TIMEOUT but its not clear how to
request a connection with a timeout. What I'm trying to do is write a C
program that "opens" a LT devic
e which has been set up as an Application mode port in LATCP. I'm interested
both in waiting for a period of time, waiting "forever" and "complete it ifs
available, fail if it isn't".
Also I've experimented a bit with this and I've found some strange results. If
I look at the port in LATCP I see its marked as "queued". However if on a
single node one process has it open, a 2nd process will get a
SYSTEM-F-DEVACTIVE error. I thought that
since its marked as a queued port the 2nd process should get suspended until
it cancels the request or the port becomes available.
The other strange thing I've seen is that if I have the printer open by a
process on one node and I try to open it from a process on a different node
(node B) the process on node B will hang, waiting for it. The strange part is
that if a 2nd process on no
de B comes along and tries to open the device (while the 1st process on node B
is still hanging) then the 2nd process gets a SYSTEM-F-DEVACTIVE as described
above but then the 1st process on node B gets SYSTEM-F-ABORT, iosb+2 = 12
(Entry is not in queue).
If it matters the DECServer the printer is attached to is a DS700 and queuing
is not enabled on the port (on the DECserver side).
The Answer is :
You can quite easily establish your own timeout using
standard OpenVMS system services.
LAT is an asymmetric protocol. The queued setting applies
to the remote (receiving) end of the connection -- in the cited
case, the port the printer is connected to should be marked as
queued. (Remember that OpenVMS is generally a client of the
terminal server, unless you are using reverse LAT and connecting
out from OpenVMS to the terminal server. Also please see the
documentation section detailing on a forward port.)
Without an example of the particular applications, a more
specific answer is difficult -- please contact the Compaq
Customer Support Center for assistance and examples.