diff --git a/ControlledQueue.cxx b/ControlledQueue.cxx index 5a4fbf2..e0a30d4 100644 --- a/ControlledQueue.cxx +++ b/ControlledQueue.cxx @@ -37,7 +37,7 @@ void ControlledQueue::put(uint32_t word) { uint32_t ControlledQueue::get() { std::unique_lock lk(m_mtx); - if ( !m_cv.wait_for(lk, std::chrono::microseconds(m_timeoutMicroseconds), !(m_queue.empty())) ) { + if ( !m_cv.wait_for(lk, std::chrono::microseconds(m_timeoutMicroseconds), [&]() { return !(m_queue.empty()); } ) ) { throw TimeoutException(); } diff --git a/evBuild.out b/evBuild.out index 679aaa5..509385d 100755 Binary files a/evBuild.out and b/evBuild.out differ diff --git a/event_builder.cxx b/event_builder.cxx index ede4dff..7b109ee 100644 --- a/event_builder.cxx +++ b/event_builder.cxx @@ -1,4 +1,3 @@ -#include "ControlledQueue.h" #include #include #include @@ -33,6 +32,7 @@ #include "fragment_dataformat.h" #include "full_event_format.h" #include "TimeoutException.h" +#include "ControlledQueue.h" #define MAX_EVENTS 1024 #define MAX_QUEUE_SIZE 1000 diff --git a/prov.out b/prov.out index 466593a..be6238f 100755 Binary files a/prov.out and b/prov.out differ diff --git a/provider.cxx b/provider.cxx index f5086d9..bd5c602 100644 --- a/provider.cxx +++ b/provider.cxx @@ -103,14 +103,14 @@ int main(int argc, char* argv[]) { uint8_t incorrectError = discrete_distr(generator); uint8_t corruptedError = discrete_distr(generator); uint8_t missingDataError = discrete_distr(generator); - uint8_t timeoutError = discrete_distr(generator); + //uint8_t timeoutError = discrete_distr(generator); uint32_t firstStatusElement = 0x0; if (incorrectError) firstStatusElement |= INCORRECT_ERROR; if (corruptedError) firstStatusElement |= CORRUPTED_ERROR; if (missingDataError) firstStatusElement |= MISSING_DATA_ERROR; - if (timeoutError) firstStatusElement |= TIMEOUT_ERROR; + //if (timeoutError) firstStatusElement |= TIMEOUT_ERROR; if (firstStatusElement != 0x0) { header.numberOfStatusElements = 1;