summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/sys/Timer.cpp
Commit message (Collapse)AuthorAgeFilesLines
* NO-JIRA: Removed some unused Timer features (old cluster used to use them)Andrew Stitcher2012-12-211-8/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1425036 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4514: Remove obsolete cluster code: ManagementAgent, Timer, docAlan Conway2012-12-191-6/+0
| | | | | | WIP: rip out old cluster code, misc. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1424118 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4403 review 7810 Too many 'task late and overran' messagesCharles E. Rolke2012-11-031-3/+3
| | | | | | | | | | | Demote TimerWarning messages to debug level. Print them only once per minute. To enable only these messages when broker is otherwise at INFO log level: --log-enable debug+:Timer git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1405316 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Fix previous TimerTask fix to workaround stupid windows.h symbol ↵Andrew Stitcher2012-07-061-2/+2
| | | | | | corruption git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1358265 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Fix for potential Timer deadlock issue:Andrew Stitcher2012-07-051-9/+46
| | | | | | | | | | | | | | | | | - Previously we used a mutex to prevent cancelling a TimerTask whilst it was still executing from within its callback in another thread. This violates the principle that you shouldn't hold locks when calling the arbitrary code in a callback, and so is subject to potential deadlock problems. - This fix only works if no timer callback calls TimerTask::cancel(); this is true with the current code. And there is no good reason to call cancel() from within a callback, as cancel is the default behviour in any case - you have to specifically reschedule a recurring timer. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1357827 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3280: Performance problem with TTL messages.Alan Conway2011-06-151-0/+6
| | | | | | | | | | | | When sending a large number of messages with nonzero TTLs to a cluster, overall message throughput drops by around 20-30% compared to messages with TTL 0. The previous approach to TTL in the cluster is replaced with a simpler "cluster clock". Also QueueCleaner is executed in the cluster timer, and modified to be deterministic in a cluster. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1136170 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3187: Added exception handling safeguard for timer tasksGordon Sim2011-04-051-1/+5
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1088951 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Fix qpidd late/overran warnings.Alan Conway2011-03-181-4/+6
| | | | | | | Warnings for late-and-overrun tasks were not being correctly reported. Lateness for overrun tasks below the late threshold were not being reported. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1082954 13f79535-47bb-0310-9956-ffa450edef68
* Aggregate Timer warnings.Alan Conway2010-11-171-18/+11
| | | | | | | | | | | | The Timer code logs a warning if a timer callback is started late or overruns the start time for the next callback. In cases where there are a lot of these warnings, the time taken to do the logging itself severly worsens the situation. This commit aggregates timer warnings and give a statistical report every 5 seconds at most. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1036169 13f79535-47bb-0310-9956-ffa450edef68
* Break deadlock caused when ClusterTimer::drop is called concurrently with ↵Alan Conway2010-09-091-5/+8
| | | | | | Timer::add. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@995426 13f79535-47bb-0310-9956-ffa450edef68
* Give timer tasks a name for logging purposes.Alan Conway2010-08-261-8/+8
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@989925 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2186: Small adjustments to previous fix:Andrew Stitcher2010-04-291-5/+7
| | | | | | | - Turn one of the "if"s into an assert - Fix incorrect scope for unlocking Timer monitor around fire() callback. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@939156 13f79535-47bb-0310-9956-ffa450edef68
* Don't try to get the top() of an empty queue and use it. Resolves (I ↵Stephen D. Huston2010-04-281-8/+16
| | | | | | believe) QPID-2186. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@939117 13f79535-47bb-0310-9956-ffa450edef68
* More generous overrun threshold for cluster timer to avoid excessive warnings.Alan Conway2010-03-251-15/+17
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@927383 13f79535-47bb-0310-9956-ffa450edef68
* Replace PeriodicTimer with ClusterTimer, which inherits from Timer.Alan Conway2010-01-291-4/+16
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@904656 13f79535-47bb-0310-9956-ffa450edef68
* Change threshold for reporting a timer as late from 10 to 50 msec. Resolves ↵Stephen D. Huston2009-10-161-1/+1
| | | | | | QPID-2150. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@826093 13f79535-47bb-0310-9956-ffa450edef68
* Use more friendly time setting for the Timer warningsAndrew Stitcher2009-08-211-2/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@806719 13f79535-47bb-0310-9956-ffa450edef68
* Removed unused filesAndrew Stitcher2009-08-071-2/+0
| | | | | | | Removed unused functions from Timer Switched TimerTest to sys::Timer git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@802160 13f79535-47bb-0310-9956-ffa450edef68
* Further improve the delay/overrun Timer warnings when both occur at onceAndrew Stitcher2009-08-071-6/+14
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@801858 13f79535-47bb-0310-9956-ffa450edef68
* When setting up the next fire time for a Timer make sure it can't be in the ↵Andrew Stitcher2009-08-071-1/+2
| | | | | | past. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@801857 13f79535-47bb-0310-9956-ffa450edef68
* Improved Timer delay/overrun warningsAndrew Stitcher2009-08-051-4/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@801290 13f79535-47bb-0310-9956-ffa450edef68
* Added diagnostics to tell if timer callbacks overrun their allowed timeAndrew Stitcher2009-07-301-3/+21
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@799272 13f79535-47bb-0310-9956-ffa450edef68
* Fix sys::Timer code to push into priority list using the correct timeAndrew Stitcher2009-07-301-1/+1
| | | | | | - fixes bug where timers get acted on out of sequence git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@799271 13f79535-47bb-0310-9956-ffa450edef68
* Add directory to #includeAlan Conway2009-07-141-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@793909 13f79535-47bb-0310-9956-ffa450edef68
* Reapplied r793120Gordon Sim2009-07-141-3/+9
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@793832 13f79535-47bb-0310-9956-ffa450edef68
* Reverted checkins 793119, 793120, 793121, 793122 because of problems with ↵Kim van der Riet2009-07-131-9/+3
| | | | | | heartbeats and the store tests. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@793602 13f79535-47bb-0310-9956-ffa450edef68
* Allow TimerTasks to be delayed correctly by separating out the timeAndrew Stitcher2009-07-101-3/+9
| | | | | | | used to sort in the priority queue and the firing time git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@793120 13f79535-47bb-0310-9956-ffa450edef68
* Add blocking to sys::Timer so that timer callback and cancelAndrew Stitcher2009-06-231-2/+11
| | | | | | | can't happen interleaved git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@787813 13f79535-47bb-0310-9956-ffa450edef68
* Created new Timer code in qpid::sysAndrew Stitcher2009-01-131-0/+136
- Necessary for a timer accessible to the client code - The interface is slightly different from the existing Timer code in an attempt to fix some issues with it git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@734216 13f79535-47bb-0310-9956-ffa450edef68