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

{  PURPOSE:
{    This module exists to provide entry points to run the asynchronous
{    critical window manager task.
{  DESIGN:
{    Entry point is declared.  The task which it defines will call a ring
{    1 procedure to log entries in the critical window into the critical
{    window log.  It will do this whenever there is something that needs
{    to be logged.

*copyc dpv$critical_msgs_need_logging
*copyc jmv$executing_within_system_job
*copyc ofp$log_critical_mtr_messages
*copyc pmp$wait

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

  PROCEDURE [XDCL, #GATE] ofp$critical_window_manager;

*copyc ofh$critical_window_manager

    IF NOT jmv$executing_within_system_job THEN
      RETURN;
    IFEND;

    WHILE TRUE DO
      IF dpv$critical_msgs_need_logging THEN
        ofp$log_critical_mtr_messages;
      IFEND;
      pmp$wait (10000, 10000);
    WHILEND;

  PROCEND ofp$critical_window_manager;
MODEND ofm$critical_window_manager;
