?? RIGHT := 110 ??
*copyc osd$default_pragmats
?? NEWTITLE := 'NOS/VE : operator facility' ??
MODULE ofm$log_critical_mtr_messages;

{  PURPOSE:
{    This module exists to log messages sent to the critical window by
{    tasks executing in monitor mode.
{  DESIGN:
{    This procedure will read the dpv$critical_messages variable and write
{    it to the critical window until no more messages are in it.

*copyc dpv$critical_messages
*copyc dpv$critical_msgs_need_logging
*copyc lgp$add_entry_to_critical_log
*copyc ost$status

?? OLDTITLE ??
?? NEWTITLE := '[XDCL, #GATE] ofp$log_critical_mtr_messages', EJECT ??

  PROCEDURE [XDCL, #GATE] ofp$log_critical_mtr_messages;

    VAR
      ignore_status: ost$status,
      msg_index: 1 .. 16;

    dpv$critical_msgs_need_logging := FALSE;
    msg_index := 1;
    WHILE (msg_index < 16) AND (dpv$critical_messages [msg_index].size <> 0) DO
      lgp$add_entry_to_critical_log (dpv$critical_messages [msg_index].
            value (1, dpv$critical_messages [msg_index].size), ignore_status);
      dpv$critical_messages [msg_index].size := 0;
      msg_index := msg_index + 1;
    WHILEND;

  PROCEND ofp$log_critical_mtr_messages;
MODEND ofm$log_critical_mtr_messages;
