Commit d121b2961f566a63e17f974fd8d39ed4d84ae361
- Diff rendering mode:
- inline
- side by side
core/event.cpp
(5 / 9)
|   | |||
| 49 | 49 | #include <Poco/SAX/InputSource.h> | |
| 50 | 50 | #include <Poco/SAX/SAXException.h> | |
| 51 | 51 | ||
| 52 | #define MAX_WAIT_SECONDS 2 // seconds, must be > 0 | ||
| 53 | |||
| 54 | 52 | using Poco::XML::Document; | |
| 55 | 53 | using Poco::XML::Element; | |
| 56 | 54 | using Poco::XML::Attr; | |
| … | … | ||
| 62 | 62 | using std::set; | |
| 63 | 63 | ||
| 64 | 64 | namespace dss { | |
| 65 | |||
| 65 | /* maximum time to block, must be > 0 */ | ||
| 66 | const int kMaxSleepTimeSeconds = 2; | ||
| 66 | 67 | //================================================== Event | |
| 67 | 68 | ||
| 68 | 69 | Event::Event(const std::string& _name) | |
| … | … | ||
| 712 | 712 | return false; | |
| 713 | 713 | } | |
| 714 | 714 | ||
| 715 | int secsToWait = MAX_WAIT_SECONDS; | ||
| 715 | int secsToWait = kMaxSleepTimeSeconds; | ||
| 716 | 716 | do { | |
| 717 | if (sleepSeconds < MAX_WAIT_SECONDS) { | ||
| 718 | secsToWait = sleepSeconds; | ||
| 719 | } else { | ||
| 720 | secsToWait = MAX_WAIT_SECONDS; | ||
| 721 | } | ||
| 717 | |||
| 718 | secsToWait = std::min(sleepSeconds, kMaxSleepTimeSeconds); | ||
| 722 | 719 | ||
| 723 | 720 | if(!m_NewItem.waitFor(secsToWait * 1000)) { | |
| 724 | 721 | return raisePendingEvents(m_WakeTime, 2); |

