]> xenbits.xensource.com Git - people/royger/freebsd.git/commitdiff
Zero return value when counter_rate() switches over to next second and
authorglebius <glebius@FreeBSD.org>
Tue, 13 Dec 2016 20:11:45 +0000 (20:11 +0000)
committerglebius <glebius@FreeBSD.org>
Tue, 13 Dec 2016 20:11:45 +0000 (20:11 +0000)
value is positive, but below the limit.

sys/kern/subr_counter.c

index 08f55d0f1f19f4992c7494d57176860b2ec64080..f0727f31d78069d33e9208579be02beead6d8b78 100644 (file)
@@ -154,6 +154,8 @@ counter_ratecheck(struct counter_rate *cr, int64_t limit)
                                counter_u64_zero(cr->cr_rate);
                                cr->cr_over = 0;
                                cr->cr_ticks = now;
+                               if (val <= limit)
+                                       val = 0;
                        }
                        atomic_store_rel_int(&cr->cr_lock, 0);
                } else