From 8fe4cf436afd24877ebe0fb6d706cbafdc2cc4e7 Mon Sep 17 00:00:00 2001 From: "Adrian C. (anrxc)" Date: Wed, 6 Jan 2010 03:10:18 +0100 Subject: net: sanitize time computation to avoid division by zero --- net.lua | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'net.lua') diff --git a/net.lua b/net.lua index 1a98b6f..1fec49d 100644 --- a/net.lua +++ b/net.lua @@ -57,19 +57,19 @@ local function worker(format) -- Default values on the first run nets[name] = {} uformat(args, name .. " down", 0) - uformat(args, name .. " up", 0) + uformat(args, name .. " up", 0) nets[name].time = os.time() - else - -- Net stats are absolute, substract our last reading - local interval = os.time() - nets[name].time + else -- Net stats are absolute, substract our last reading + local interval = os.time() - nets[name].time > 0 and + os.time() - nets[name].time or 1 nets[name].time = os.time() - local down = (recv - nets[name][1])/interval - local up = (send - nets[name][2])/interval + local down = (recv - nets[name][1]) / interval + local up = (send - nets[name][2]) / interval uformat(args, name .. " down", down) - uformat(args, name .. " up", up) + uformat(args, name .. " up", up) end -- Store totals -- cgit v1.2.3