[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

more about time



    Date: Fri, 9 Mar 90 11:40:20 CST
    From: walls%ssl.span@Fedex.Msfc.Nasa.Gov (Bryan Walls--One cool froog)

    >>>>From: ESC@STONY-BROOK.SCRC.Symbolics.COM (Eric S. Crawley) 

    >>>>When booting at a non-standalone site with a non-embedded system, a
    >>>>broadcast will be made on the primary network (Chaos only for pre-8.0)
    >>>>for the time of day.  Since the primary network can only be chaos before
    >>>>8.0, only lispms will respond.  The responses to the broadcast are
    >>>>collected and the median time is chosen for the status line time.  If the
    >>>>broadcast fails to get any response pre-8.0 machines would give you a
    >>>>nasty prompt in the cold-load asking you type the time.  In 8.0, this has
    >>>>been changed so the calendar clock will be for the time is when the
    >>>>calendar clock is broken or uninitialized.  After the machine is booted
    >>>>the time is kept by the software.

    This makes the autoboot feature pretty useless in 7.2 then, right?  I have a
    3650 display.  It's set up for autoboot so that if there is a power glitch,
    we could start recording again ASAP.  The power went off yesterday, and when
    I checked this morning, the machine was waiting for the time to be typed in.
    Am I missin

Although this is as much of this message as I got, I think I know what you're
trying to ask: is there a way to make sure that machines come up trying their
calendar clocks if nobody answers the what-time-is-it broadcast?  

The answer is yes, but it's (slightly) harder to do in 7.2.  There is a variable
called TIME:*INITIALIZE-TIMEBASE-FROM-CALENDAR-CLOCK*; if non-NIL at boot time
the system will first broadcast, and, if nobody answers, will use the value in
the calendar clock.  Unfortunately, this means you have to set the variable
before you save the world, because there's no time to set it after booting.

I would not be surprised if in 8.0 there is a feature which sets the variable
just before saving the world when you have turned on the standalone-site flag in
the site object; I have a patch at my (stand-alone) site which does this, so I no
longer have to remember to do it.  Here is the text of my patch (from my site
system):

  (add-initialization "Set *INITIALIZE-TIMEBASE-FROM-CALENDAR-CLOCK* correctly"
		      '(setf time:*initialize-timebase-from-calendar-clock*
			       (not neti:*expecting-who-am-I-response*))
		      ()
		      'neti:local-name-initialization-list)
  
  (add-initialization "Set *INITIALIZE-TIMEBASE-FROM-CALENDAR-CLOCK* correctly"
		      '(setf time:*initialize-timebase-from-calendar-clock*
			       (not neti:*expecting-who-am-I-response*))
		      '(:before-cold))

  (setf time:*initialize-timebase-from-calendar-clock*
	  (not neti:*expecting-who-am-I-response*))

You might be able to combine the first two forms, but I never remember.