From 106be295ebbf7e86d246e7b8457e6601ddefce47 Mon Sep 17 00:00:00 2001 From: Jan Beich Date: Sun, 15 Apr 2018 04:02:42 +0000 Subject: [PATCH] Explicitly use long with boost::posix_time In file included from lib/base/base_unity.cpp:61: lib/base/timer.cpp:295:31: error: no matching conversion for functional-style cast from 'double' to 'boost::posix_time::milliseconds' (aka 'subsecond_duration') l_TimerCV.timed_wait(lock, boost::posix_time::milliseconds(wait * 1000)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from lib/remote/remote_unity.cpp:19: lib/remote/eventqueue.cpp:111:30: error: no matching conversion for functional-style cast from 'double' to 'boost::posix_time::milliseconds' (aka 'subsecond_duration') if (!m_CV.timed_wait(lock, boost::posix_time::milliseconds(timeout * 1000))) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from lib/checker/checker_unity.cpp:1: lib/checker/checkercomponent.cpp:128:26: error: no matching conversion for functional-style cast from 'double' to 'boost::posix_time::milliseconds' (aka 'subsecond_duration') m_CV.timed_wait(lock, boost::posix_time::milliseconds(wait * 1000)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/include/boost/date_time/time_duration.hpp:270:30: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'double' to 'const boost::date_time::subsecond_duration' for 1st argument class BOOST_SYMBOL_VISIBLE subsecond_duration : public base_duration ^ /usr/local/include/boost/date_time/time_duration.hpp:270:30: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'double' to 'boost::date_time::subsecond_duration' for 1st argument /usr/local/include/boost/date_time/time_duration.hpp:286:59: note: candidate template ignored: disabled by 'enable_if' [with T = double] typename boost::enable_if, void>::type* = 0) : ^ --- lib/base/timer.cpp | 2 +- lib/checker/checkercomponent.cpp | 2 +- lib/remote/eventqueue.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/base/timer.cpp b/lib/base/timer.cpp index d862f8088..0eb03f754 100644 --- a/lib/base/timer.cpp +++ b/lib/base/timer.cpp @@ -292,7 +292,7 @@ void Timer::TimerThreadProc() if (wait > 0.01) { /* Wait for the next timer. */ - l_TimerCV.timed_wait(lock, boost::posix_time::milliseconds(wait * 1000)); + l_TimerCV.timed_wait(lock, boost::posix_time::milliseconds(long(wait * 1000))); continue; } diff --git a/lib/checker/checkercomponent.cpp b/lib/checker/checkercomponent.cpp index 12e43b73c..c26db9de1 100644 --- a/lib/checker/checkercomponent.cpp +++ b/lib/checker/checkercomponent.cpp @@ -125,7 +125,7 @@ void CheckerComponent::CheckThreadProc() if (wait > 0) { /* Wait for the next check. */ - m_CV.timed_wait(lock, boost::posix_time::milliseconds(wait * 1000)); + m_CV.timed_wait(lock, boost::posix_time::milliseconds(long(wait * 1000))); continue; } diff --git a/lib/remote/eventqueue.cpp b/lib/remote/eventqueue.cpp index 756c9b9a8..5f3b01a2f 100644 --- a/lib/remote/eventqueue.cpp +++ b/lib/remote/eventqueue.cpp @@ -108,7 +108,7 @@ Dictionary::Ptr EventQueue::WaitForEvent(void *client, double timeout) return result; } - if (!m_CV.timed_wait(lock, boost::posix_time::milliseconds(timeout * 1000))) + if (!m_CV.timed_wait(lock, boost::posix_time::milliseconds(long(timeout * 1000)))) return nullptr; } }