From: Rinigus Date: Fri, 5 Aug 2016 12:16:18 +0000 (+0300) Subject: cpusleep plugin: calculating in integers X-Git-Tag: collectd-5.6.0~91^2~1 X-Git-Url: https://git.verplant.org/?a=commitdiff_plain;h=247d35ab847f874bcb382c37525db76f454aad36;p=collectd.git cpusleep plugin: calculating in integers --- diff --git a/src/cpusleep.c b/src/cpusleep.c index 9a0e17ee..4d3547a4 100644 --- a/src/cpusleep.c +++ b/src/cpusleep.c @@ -71,7 +71,9 @@ static int cpusleep_read(void) // to avoid false positives in counter overflow due to reboot, // derive is used. Sleep is calculated in milliseconds - derive_t sleep = (derive_t) ((b.tv_sec - m.tv_sec)*1e3 + (b.tv_nsec - m.tv_nsec)*1e-6); + derive_t diffsec = b.tv_sec - m.tv_sec; + derive_t diffnsec = b.tv_nsec - m.tv_nsec; + derive_t sleep = diffsec * 1000 + diffnsec / 1000000; cpusleep_submit(sleep);