CRE Programmer's Guide
CRE Service Functions
Common Run-Time Environment (CRE) Programmer’s Guide—528146-004
6-40
CRE_Receive_Read_
Handling Generic System Messages
Generic system messages describe changes in the environment in which your program
is running such as a SETTIME message or a CPU down message. Generic system
messages do not apply to a specific requester although they might affect your
process’s requesters. The CRE updates its state information if it receives a generic
system message. For example, the CRE updates its requester information if it receives
a CPU down message for a CPU in which one of your process’s requesters is running.
In addition, the CRE passes the system message to your program if you included the
mask for that message in Report^flags when you called CRE_Receive_Open_Close_.
See “CRE_Receive_Open_Close_” in this section for more details.
Handling System Messages and Requester Messages
Your process receives:
•
System messages that pertain directly to requesters that have opened your
process.
For example, when a requester calls the CONTROL, CONTROLBUF,
RESETSYNC, SETMODE, or SETPARAM system procedure, the operating
system sends a system message to your program with the information specified by
the requester. If the requester is not known to the CRE, CRE_Receive_Read_
rejects the request without passing information to your program.
If the CRE receives a system message from a known requester, it returns the
message to your program if you specified the type of message received in
Report^flags when you called CRE_Receive_Open_Close_.
The CRE always returns nonsystem messages from known requesters to your
program.
•
Open messages from requesters attempting to open your program as a server.
If the CRE receives an “open” message from a requester (a message that another
process is attempting to open your program) and your program specifies the
CRE^OPEN^mask as a Report^flag when it calls CRE_Receive_Open_Close_,
CRE_Receive_Read_ passes the open message to your program. Your program
must call CRE_Receive_Write_ to specify whether to honor the open request or
refuse it.
See the
reply_code parameter to the CRE_Receive_Write_ function for more
information.
Note. If another process issues a nowait open to your process and you have specified that you
want to receive “open” messages, the other process cannot continue opening your program
until you have responded to the open message. If the other process is opening your program
with a waited open, the other process remains suspended entirely until your program replies to
the open request. Therefore, you might want to ensure that your program responds quickly to
an open request.