summaryrefslogtreecommitdiff
path: root/librabbitmq
diff options
context:
space:
mode:
authorwizjin <wizjin@outlook.com>2013-12-03 11:07:01 +0800
committerwizjin <wizjin@outlook.com>2013-12-03 11:07:01 +0800
commit27245a4e156819942899cefb49e6e4ddf8a07377 (patch)
tree42327b6a18c62af1d7882bbd7c1b8a3d22351afb /librabbitmq
parent826422b98ceddc90f7ad409352e4ee2c018a6bef (diff)
downloadrabbitmq-c-github-ask-27245a4e156819942899cefb49e6e4ddf8a07377.tar.gz
Fix function amqp_get_monotonic_timestamp return zero
On one of my PC (Intel Core2 Duo Processor E7500 2.93 GHz), QueryPerformanceFrequency return 2933330000. This value is greater than AMQP_NS_PER_S (1000000000).
Diffstat (limited to 'librabbitmq')
-rw-r--r--librabbitmq/amqp_timer.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/librabbitmq/amqp_timer.c b/librabbitmq/amqp_timer.c
index f89d43d..95606b8 100644
--- a/librabbitmq/amqp_timer.c
+++ b/librabbitmq/amqp_timer.c
@@ -40,7 +40,7 @@
uint64_t
amqp_get_monotonic_timestamp(void)
{
- static uint64_t NS_PER_COUNT = 0;
+ static double NS_PER_COUNT = 0;
LARGE_INTEGER perf_count;
if (0 == NS_PER_COUNT) {
@@ -48,14 +48,14 @@ amqp_get_monotonic_timestamp(void)
if (!QueryPerformanceFrequency(&perf_frequency)) {
return 0;
}
- NS_PER_COUNT = AMQP_NS_PER_S / perf_frequency.QuadPart;
+ NS_PER_COUNT = (double)AMQP_NS_PER_S / perf_frequency.QuadPart;
}
if (!QueryPerformanceCounter(&perf_count)) {
return 0;
}
- return perf_count.QuadPart * NS_PER_COUNT;
+ return (uint64_t)(perf_count.QuadPart * NS_PER_COUNT);
}
#endif /* AMQP_WIN_TIMER_API */