diff options
| author | Cory Fields <[email protected]> | 2017-03-30 15:26:31 -0400 |
|---|---|---|
| committer | Cory Fields <[email protected]> | 2017-03-31 11:54:58 -0400 |
| commit | e025246fe27f2d4bcdb6f4e9b5af9084dcc2e0a8 (patch) | |
| tree | 537f1a5b97bedbf1cfc66bd1f89de49577696917 /src/scheduler.cpp | |
| parent | Merge #9959: Mining: Prevent slowdown in CreateNewBlock on large mempools (diff) | |
| download | discoin-e025246fe27f2d4bcdb6f4e9b5af9084dcc2e0a8.tar.xz discoin-e025246fe27f2d4bcdb6f4e9b5af9084dcc2e0a8.zip | |
scheduler: fix sub-second precision with boost < 1.50
Diffstat (limited to 'src/scheduler.cpp')
| -rw-r--r-- | src/scheduler.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/scheduler.cpp b/src/scheduler.cpp index 861c1a022..0c1cfa271 100644 --- a/src/scheduler.cpp +++ b/src/scheduler.cpp @@ -23,7 +23,9 @@ CScheduler::~CScheduler() #if BOOST_VERSION < 105000 static boost::system_time toPosixTime(const boost::chrono::system_clock::time_point& t) { - return boost::posix_time::from_time_t(boost::chrono::system_clock::to_time_t(t)); + // Creating the posix_time using from_time_t loses sub-second precision. So rather than exporting the time_point to time_t, + // start with a posix_time at the epoch (0) and add the milliseconds that have passed since then. + return boost::posix_time::from_time_t(0) + boost::posix_time::milliseconds(boost::chrono::duration_cast<boost::chrono::milliseconds>(t.time_since_epoch()).count()); } #endif |