You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
(please make this a SSCCE, if applicable and reasonable)
macchina.io Version
macchina.io-2018.11.06-7c725bf8
Compiler and Version
gcc
Operating System and Version
Windows 10, Android x86_64 and amd64
Other Relevant Information
Proposed solution:
The second pending cancel notification (cancel(true) , which has an _finished event waiting is never set. This needs to be set, before clearing the queue.
namespace Poco { namespace Util {
class TimerNotification: public Poco::Notification { public: virtual void set(); }
class CancelNotification: public TimerNotification { public: bool execute() { ... else if (pNf.cast<CancelNotification>()) { pNf->set(); } } void set() { _finished.set(); } }
} }
The text was updated successfully, but these errors were encountered:
Expected Behavior
When a Poco::Util::Timer is Cancelled using Cancel(true) while a Cancel(false) is already in execution state, it hangs forever.
Actual Behavior
Clear all the pending notifications and exit gracefully without hanging.
Steps to Reproduce
Poco::Util::Timer timer1; timer1.cancel(). timer1.cancel(true);
(please make this a SSCCE, if applicable and reasonable)
macchina.io Version
macchina.io-2018.11.06-7c725bf8
Compiler and Version
gcc
Operating System and Version
Windows 10, Android x86_64 and amd64
Other Relevant Information
Proposed solution:
The second pending cancel notification (cancel(true) , which has an
_finished
event waiting is never set. This needs to be set, before clearing the queue.namespace Poco { namespace Util {
class TimerNotification: public Poco::Notification { public: virtual void set(); }
class CancelNotification: public TimerNotification { public: bool execute() { ... else if (pNf.cast<CancelNotification>()) { pNf->set(); } } void set() { _finished.set(); } }
} }
The text was updated successfully, but these errors were encountered: