Opened 10 years ago
Closed 9 years ago
#7936 closed Bugs (fixed)
Kernel boot up time changes with host clock change
Reported by: | Owned by: | Ion Gaztañaga | |
---|---|---|---|
Milestone: | To Be Determined | Component: | interprocess |
Version: | Boost 1.53.0 | Severity: | Problem |
Keywords: | interprocess, lastbootuptime, temporary folder | Cc: |
Description
With each clock changes of the host computer, obtaining LastBootUpTime will result in a different value. Since boost interprocess relies heavily on LastBootUpTime in windows, it's making a lot of problems in systems with time synchronization enabled.
Change History (3)
follow-up: 2 comment:1 by , 10 years ago
comment:2 by , 10 years ago
I tested with 3 PCs one XP x86 and two 7 x86. I'm still confused about the exact reason for when it does happen and when it doesn't. One scenario is this:
1- Start windows
2- run "wmic os get lastbootuptime"
3- change time manually
4- wait for 5 to 10 minutes. (sometimes it does not change immediately. I'm not sure why. Also when I tried to find the exact timeout required for the change, the change did not happen at all. Maybe it has something to do with idle time.)
5- run "wmic os get lastbootuptime" --> new result!
comment:3 by , 9 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
(In [84424]) Changed bootstamp function in Windows to use EventLog service start time as system bootup time. Previously used LastBootupTime
from WMI was unstable with time synchronization and hibernation and unusable in practice. If you really need to obtain pre Boost 1.54 behaviour define BOOST_INTERPROCESS_BOOTSTAMP_IS_LASTBOOTUPTIME
from command line or detail/workaround.hpp
. Fixes #7936
If I change the date or synchronize the clock on my Windows 7, the LastBootUpTime does not change (tested with command line "wmic os get lastbootuptime"). Only if timezone is changed the last part is modified (e.g. 20130128175525.610798+060 -> 20130128105525.610798-360)
Which system are you using? Can you add more information about the precision error?