The status user routine determines whether the member is operating
normally, and if not, whether it wants XCF to notify other members,
through their group user routines, of a status change. For XCF to
notify the group user routines, the status user routine must set a
return code that matches the value in SEPLSTCH. The status user routine
should set the return codes as follows:
- A return code of SEUPDMIS indicates that the member is not operating
normally. In this case:
- The return code matches the value in SEPLSTCH, causing XCF to
schedule the group user routines to notify the other members that
the member's status update is missing (event type = GEMSUMSE, where
GEMSUMSE is a system-defined constant). XCF does not issue an event
type of GEMSUMSE to the group user routine of the member whose status
update is missing.
- The status user routine can elect to place user data in GPR 0
to be passed to the group user routines in the parameter list (GEPLUDAT
field mapped by the IXCYGEPL mapping macro).
- XCF continues to monitor the status field to see if the member
resumes updating, and continues scheduling the status user routine:
- As long as the status user routine runs successfully
- Until the status user routine confirms a status update resumed
- Until the member becomes inactive.
- A return code of SEUPDRES (system-defined constant) indicates
that the member is actually operating normally, even though it might
have missed a status update. In this case:
- The return code does not match the value in SEPLSTCH, so XCF will
not schedule the group user routines. (XCF considers this response
to be the same as a status update, and does not schedule the status
user routine again until another status-checking interval expires
with no update to the status field.)
- The status user routine should not place user data in GPR 0 because
XCF will not be scheduling the group user routines.
- XCF continues to monitor the status field, and continues scheduling
the status user routine:
- As long as the status user routine runs successfully
- Until the status user routine confirms a status update resumed
- Until the member becomes inactive.
- Once the status user routine confirms a status update missing,
XCF continues monitoring the status field and does the following:
- If XCF detects that the status field changed, XCF schedules the
status user routine again. This time, XCF sets the SEPLSTCH field
to SEUPDRES to indicate checking for status update resumed.
- If XCF detects that the status field did not change, XCF waits
a period of time (system-defined, and might be less than the member's
status-checking interval). If the status field still does not change,
XCF schedules the status user routine. Again, XCF sets the SEPLSTCH
field to SEUPDRES to indicate checking for status update resumed.
- Note that in either case, whether XCF detects the status
field to be changed or unchanged, XCF schedules the status user routine
to determine if the member is operating normally.