-- Copyright (C) 1983  by Xerox Corporation. All rights reserved. 
-- MultibusServer.mesa, HGM, 20-Nov-83 19:30:40

DIRECTORY
  Process USING [Detach, Pause, priorityBackground, SecondsToTicks, SetPriority, Ticks],
  MultibusRpcControl USING [ExportInterface],
  Watchdog USING [Activate, Reactivate];
 
MultibusServer: PROGRAM
  IMPORTS Process, MultibusRpcControl, Watchdog =
  BEGIN
  
  StayAlive: PUBLIC PROCEDURE =
    BEGIN
    oneMinute: Process.Ticks = Process.SecondsToTicks[60];
    Process.SetPriority[Process.priorityBackground];
    Watchdog.Activate[2*60];
    DO
      Process.Pause[oneMinute];
      Watchdog.Reactivate[2*60];
      ENDLOOP;
    END;
        
  MultibusRpcControl.ExportInterface[user: NIL, password: TRASH ];
  Process.Detach[FORK StayAlive[]];

  END..