Distributed Systems Network Management (DSNM) Subsystem Interface Development Guide

_PUSH^THREAD^PROCSTATE
A-96
109759Distributed Systems Network Management (DSNM) Subsystem Interface
Development Guide
DSNM Library Services
PROC^Y checks for event EV^STARTUP, resets the current thread procedure and thread
state to the previously saved values of PROC^X and STATE^A, and returns to the frame
to dispatch PROC^X in STATE^A.
_THREAD^PROC (PROC^X);
BEGIN
.
.
CASE _THREAD^STATE OF
BEGIN
_ST^INITIAL -->
_THREAD^STATE := STATE^A;
IF (error := _PUSH^THREAD^PROCSTATE(@PROC^Y,STATE^B))
THEN ... < error > ;
CALL _SIGNAL^EVENT (_EV^STARTUP);
RETURN _RC^WAIT;
STATE^A -->
.
.
RETURN _RC^STOP;
END;
_END^THREAD^PROC;
_THREAD^PROC (PROC^Y);
BEGIN
.
.
CASE _THREAD^STATE OF
BEGIN
STATE^B -->
IF _ON (_LAST^EVENTS, _EV^STARTUP)
THEN
BEGIN
.
.
IF (error := _POP^THREAD^PROCSTATE)
THEN ... < error > ;
CALL _SIGNAL^EVENT (_EV^CONTINUE);
RETURN _RC^WAIT;
END;
END;
_END^THREAD^PROC;