z/OS Communications Server: SNA Programming
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


RELREQ exit routine

z/OS Communications Server: SNA Programming
SC27-3674-00

VTAM® schedules the RELREQ exit routine when one application program requests a session with an LU that is in session with another application program, and the LU is at its session limit. The requesting program requests a session with SIMLOGON OPTCD=(RELRQ,Q). As a result, VTAM schedules the RELREQ exit routine of the PLU application program currently in session with the LU. The PLU can either ignore the request (that is, remain in session with the LU and make the requesting program wait) or can take action to end the session.

An application program LU can have a session limit of one or have no session limit. If there is no session limit for an application acting as SLU in an active session, subsequent session initiation requests result in additional active sessions with the SLU. Therefore, it is not possible to use the RELREQ exit in this case. If however, the application acting as SLU in an active session has a session limit of one, subsequent session initiation requests can be queued, and the RELREQ exit can be used. An application has a session limit of one if SESSLIM=YES is coded on the APPL definition statement.

If the application program decides to end the session, it might want to determine whether there are any pending (incomplete) communication requests for the session, and wait for those communication operations to complete. To end the session, the application program issues CLSDST OPTCD=RELEASE. After execution of CLSDST, the LU is made available to the PLU that has the oldest queued session for the LU. If there are still one or more queued sessions for the LU when the PLU has established its session, the RELREQ exit routine of the new PLU is driven (one time only).

If the exit routine decides to ignore the RELREQ request, it takes no action and continues communication on the session. The queued session (from the SIMLOGON OPTCD=Q from the other application program) remains queued until the LU is available or until the queued session is purged (for example, by a VARY TERM for the SLU).

If an application program does not have a RELREQ exit routine, the program cannot be notified of another program's request. The RELREQ exit routine is scheduled at least once for each SLU for which a queued session (specifying RELRQ notification) exists; multiple notifications are possible, but not guaranteed. This means that the PLU to which the LU is made available (when the LU is released) can be different from the PLU whose SIMLOGON caused the current entry to the RELREQ exit routine of the controlling application program.

If the application program shares printers with other IBM® subsystems (for example, CICS® and IMS™) or other application programs, the RELREQ exit routine can be used to end the printer session without operator intervention. See Program structure recommendations for more information about printer sharing.

Table 1. RELREQ exit routine: Registers upon entry
Reg Contents
0, 2-13 Unpredictable
1 Address of a parameter list that includes the following:
  • Word 1—address of ACB for application program with which the LU is currently in session
  • Word 2—address of an 8-byte symbolic name of the requested LU (the name is padded on the right with blanks, if necessary)
  • Word 3-6—reserved
  • Word 7—address of the network identifier parameter list
14 VTAM address that is branched to when RELREQ exit routine completes processing
15 Address of RELREQ exit routine

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014