next up previous
Next: A.38 vc-send.setl Up: A. WEBeye Source Code Previous: A.36 vc-recv.setl

  
A.37 vc-restart.setl

Called by parent program:
vc-cron.setl     (Section A.9 [vc-cron.setl])

Calls child programs:
vc-go.setl     (Section A.18 [vc-go.setl])
vc-quit.setl     (Section A.35 [vc-quit.setl])

Textually #includes:
vc-admin.setl     (Section A.1 [vc-admin.setl])

Source code: *

const yhwh = `vc-restart.setl';
 
-- Restart the Box, meaning stop it if necessary, preserve the old log,
-- and start it again
 
const my_lock  = `vc-restarting';  -- lock file (mutex)
const vc_lock  = `vc-lock';  -- Box's lock file
const vc_log   = `vc-log';    -- Box's log file
const vc_num   = `vc-number';  -- contains seq.# of last log saved
const vc_go_cmd   = `exec setl vc-go.setl';
const vc_quit_cmd = `exec setl vc-quit.setl';
 
commence;  -- acquire mutex or exit abnormally right away
 
msg (`Calling '+str vc_quit_cmd+` ...');
quit_rc := system (vc_quit_cmd);
if quit_rc /= 0 then
  msg (str vc_quit_cmd+` terminated abnormally.');
  msg (`Also abending.');
  finis (1);
end if;
 
if lexists vc_lock then
  msg (str vc_quit_cmd+` completed normally but lock file '+vc_lock+
                                                     ` still exists!');
  msg (`Removing '+vc_lock+` by force ...');
  unlink (vc_lock);
end if;
 
if fexists vc_log then
  n := (val (getfile vc_num ? `0') ? 0) + 1;
  saved_log := vc_log+`.'+str n;
  msg (`Moving '+vc_log+` to '+saved_log+` ...');
  system (`mv '+vc_log+` '+saved_log);
  putfile (vc_numstr n);
end if;
 
msg (`Calling '+str vc_go_cmd+` ...');
system (vc_go_cmd);
msg (`Done.');
 
finis (0);  -- release mutex and exit normally
 
#include ``vc-admin.setl''


next up previous
Next: A.38 vc-send.setl Up: A. WEBeye Source Code Previous: A.36 vc-recv.setl
David Bacon
1999-12-10