From 01e202b60cc8aceb65fd6c82949e2a2b08142f8c Mon Sep 17 00:00:00 2001
From: wangzhengquan <wangzhengquan85@126.com>
Date: 星期一, 18 一月 2021 10:44:50 +0800
Subject: [PATCH] ADD EBUS_NET
---
src/px_sem_util.cpp | 15 +++++++++------
1 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/src/px_sem_util.cpp b/src/px_sem_util.cpp
index 80008fb..9de9c38 100644
--- a/src/px_sem_util.cpp
+++ b/src/px_sem_util.cpp
@@ -1,13 +1,16 @@
#include "px_sem_util.h"
+#define NANO 1000000000
struct timespec PXSemUtil::calc_sem_timeout(const struct timespec *ts) {
- int tmp_sec;
+
+ struct timespec res;
struct timespec timeout;
if (clock_gettime(CLOCK_REALTIME, &timeout) == -1)
err_exit(errno, "clock_gettime");
- timeout.tv_nsec += ts->tv_nsec;
- tmp_sec = timeout.tv_nsec / 10e9;
- timeout.tv_nsec = timeout.tv_nsec - tmp_sec * 10e9;
- timeout.tv_sec += ts->tv_sec + tmp_sec;
- return timeout;
+
+ res.tv_sec = timeout.tv_sec + ts->tv_sec;
+ res.tv_nsec = timeout.tv_nsec + ts->tv_nsec;
+ res.tv_sec = res.tv_sec + floor(res.tv_nsec / NANO);
+ res.tv_nsec = res.tv_nsec % NANO;
+ return res;
}
\ No newline at end of file
--
Gitblit v1.8.0