summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2011-04-28 20:03:57 -0400
committerNick Mathewson <nickm@torproject.org>2011-04-28 20:03:57 -0400
commitc12289792507c8dd51c2a947f7c910c70df4dd3d (patch)
tree77e397ae01ae7f05be84a0ab6d81320932f5b13b
parent710227a77f3d47fec78497b0fabce13b4e3ce728 (diff)
parent525d2700dd8b6c794a69ea0be63864baeff27617 (diff)
downloadtor-c12289792507c8dd51c2a947f7c910c70df4dd3d.tar.gz
tor-c12289792507c8dd51c2a947f7c910c70df4dd3d.zip
Merge remote-tracking branch 'sebastian/bug3020' into maint-0.2.2
-rw-r--r--changes/bug30207
-rw-r--r--src/or/hibernate.c3
2 files changed, 9 insertions, 1 deletions
diff --git a/changes/bug3020 b/changes/bug3020
new file mode 100644
index 0000000000..b987161229
--- /dev/null
+++ b/changes/bug3020
@@ -0,0 +1,7 @@
+ o Minor bugfixes:
+ - When checking whether a hibernation period has fully elapsed, use
+ the amount of seconds we expect for that period instead of using
+ the new period that just started. This would cause an issue because
+ February is a really short month. Bugfix on 0.2.2.17-alpha;
+ fixes bug 3020.
+
diff --git a/src/or/hibernate.c b/src/or/hibernate.c
index 1878d5d52d..aebce4cc88 100644
--- a/src/or/hibernate.c
+++ b/src/or/hibernate.c
@@ -378,7 +378,8 @@ configure_accounting(time_t now)
/* We are in the interval we thought we were in. Do nothing.*/
interval_end_time = start_of_accounting_period_after(interval_start_time);
} else {
- long duration = length_of_accounting_period_containing(now);
+ long duration =
+ length_of_accounting_period_containing(interval_start_time);
double delta = ((double)(s_now - interval_start_time)) / duration;
if (-0.50 <= delta && delta <= 0.50) {
/* The start of the period is now a little later or earlier than we