[omniORB] Setting system time

jon.kristensen@kongsberg-simrad.com jon.kristensen@kongsberg-simrad.com
Wed, 4 Apr 2001 11:46:01 +0200



Hi,

I recently discovered that omniORB 2.8.0 gets into trouble if the system time
changes. I found that the scavenger thread seems to use a timed wait, where it
just adds a period to an accumulated time value, and waits for the system time
to reach that value. If I adjust the system time forward, the scavenger will run
in an endless loop until the accumulated time value catches up. Opposite, if I
set the time backwards, the scavenger thread will wait (not run) until the
system time reaches the value it had before it was set. See
orbCore/scavenger.cc, omniORB_Scavenger::run_undetached().

Am I correct?
Are there any other places in the omniORB code that behaves like this?

The reason for my concern is that I synchronize the clocks of all my computers
to GPS time (UTC). Invariantly this my cause a large time jump, especially if
one of the machines for some reason was not set correctly.

Regards
Jon
--------------
Jon Kristensen
Principal Engineer, SW Embedded Systems
Kongsberg Simrad AS, Horten, Norway
phone:    +47 33 02 39 34
fax: +47 33 04 76 19
email:    jon.kristensen@kongsberg-simrad.com