-- WorkerLogWatchdogImpl.mesa
-- Monitor controlling access to Worker log watchdog process.
-- Last edited by
--   MBrown on April 3, 1983 9:09 am

  DIRECTORY
    Process,
    WorkerInternal;

WorkerLogWatchdogImpl: MONITOR
  IMPORTS
    Process,
    WorkerInternal
  EXPORTS
    WorkerInternal
  = BEGIN

  watchdogRunning: BOOL ← FALSE;
  oldWorkerPresent: CONDITION;

  NotifyLogWatchdog: PUBLIC ENTRY PROC [] = {
    IF NOT watchdogRunning THEN {
      Process.Detach[FORK WorkerInternal.WorkerLogWatchdogProcess[]];
      watchdogRunning ← TRUE;
      }
    ELSE NOTIFY oldWorkerPresent;
    };

  WaitForNotify: PUBLIC ENTRY PROC [] = {
    WAIT oldWorkerPresent;
    };

  END.--WorkerLogWatchdogImpl

CHANGE LOG

Created by MBrown on April 3, 1983 9:07 am