From 64ded02c99a662ec290b8b1d987473df6ee41876 Mon Sep 17 00:00:00 2001 From: Loic Dachary Date: Sun, 20 Jan 2013 11:35:10 +0000 Subject: Relax Throttle::_reset_max conditions and associated unit tests Removes a condition in Throttle::_reset_max by which the waiting queue is only Signal()ed if the new maximum is lower than the current maximum. There is no evidence of a use case where such a restriction would be useful. In addition waking up a thread when the maximum increases gives it a chance to immediately continue the suspended process instead of waiting for the next put(). Create a new test file covering 100% of src/Throttle.{cc,h} lines of code. The following methods are tested: * Throttle::Throttle with and without a maximum * Throttle::~Throttle when each pending Cond is deleted * Throttle::take * Throttle::get when updating the maximum ( lower or higher ), when going to sleep waiting for the count to lower under the maximum, when going to sleep because another thread is already asleep waiting * Throttle::get_or_fail when there is no maximum, when requesting a count that is larger than the maximum, either when the current value is under the maximum or above the maximum. * Throttle::wait when used to reset the maximum and wake up another thread asleep waiting All asserts checking the arguments sanity are exercised ( negative argument for Throttle::take etc. ). Adds the LGPLv2+ licensing terms to COPYING along with the others. Adds a Contributors section to the AUTHORS file. Notes: Testing asserts outputs verbose error messages that should be silenced but it does not seem possible. Signed-off-by: Loic Dachary --- AUTHORS | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'AUTHORS') diff --git a/AUTHORS b/AUTHORS index 08f3b1ca729..289f54bf67b 100644 --- a/AUTHORS +++ b/AUTHORS @@ -13,3 +13,7 @@ Patience Warnick Yehuda Sadeh-Weinraub Greg Farnum +Contributors +------------ + +Loic Dachary -- cgit v1.2.1