summaryrefslogtreecommitdiff
path: root/src/kpi
diff options
context:
space:
mode:
authorSaya Sugiura <ssugiura@jp.adit-jv.com>2019-01-08 16:45:04 +0900
committerSaya Sugiura <ssugiura@jp.adit-jv.com>2019-05-06 15:55:01 +0900
commitdf6fc2a1ce9f3a1778e9c8e14c800cd2ad96e96e (patch)
tree6356575d4f9e6461769f7b40b72829366feb37b4 /src/kpi
parent4fe69b0927f4c5d0cb3b3ae4fa64500db22b13d0 (diff)
downloadDLT-daemon-df6fc2a1ce9f3a1778e9c8e14c800cd2ad96e96e.tar.gz
POSIX: Replace usleep with nanosleep
Signed-off-by: Saya Sugiura <ssugiura@jp.adit-jv.com>
Diffstat (limited to 'src/kpi')
-rw-r--r--src/kpi/dlt-kpi.c15
-rw-r--r--src/kpi/dlt-kpi.h3
2 files changed, 15 insertions, 3 deletions
diff --git a/src/kpi/dlt-kpi.c b/src/kpi/dlt-kpi.c
index 0fbff3a..d9f9727 100644
--- a/src/kpi/dlt-kpi.c
+++ b/src/kpi/dlt-kpi.c
@@ -186,6 +186,7 @@ void *dlt_kpi_start_process_thread()
DltReturnValue dlt_kpi_process_loop()
{
static unsigned long int old_millis, sleep_millis, dif_millis;
+ struct timespec ts;
old_millis = get_millis();
@@ -201,7 +202,9 @@ DltReturnValue dlt_kpi_process_loop()
else
sleep_millis = config.process_log_interval - dif_millis;
- usleep(sleep_millis * 1000);
+ ts.tv_sec = (sleep_millis * NANOSEC_PER_MILLISEC) / NANOSEC_PER_SEC;
+ ts.tv_nsec = (sleep_millis * NANOSEC_PER_MILLISEC) % NANOSEC_PER_SEC;
+ nanosleep(&ts, NULL);
old_millis = get_millis();
}
@@ -424,6 +427,7 @@ void *dlt_kpi_start_irq_thread()
DltReturnValue dlt_kpi_irq_loop()
{
static unsigned long int old_millis, sleep_millis, dif_millis;
+ struct timespec ts;
old_millis = get_millis();
@@ -439,7 +443,9 @@ DltReturnValue dlt_kpi_irq_loop()
else
sleep_millis = config.irq_log_interval - dif_millis;
- usleep(sleep_millis * 1000);
+ ts.tv_sec = (sleep_millis * NANOSEC_PER_MILLISEC) / NANOSEC_PER_SEC;
+ ts.tv_nsec = (sleep_millis * NANOSEC_PER_MILLISEC) % NANOSEC_PER_SEC;
+ nanosleep(&ts, NULL);
old_millis = get_millis();
}
@@ -458,6 +464,7 @@ void *dlt_kpi_start_check_thread()
DltReturnValue dlt_kpi_check_loop()
{
static unsigned long int old_millis, sleep_millis, dif_millis;
+ struct timespec ts;
old_millis = get_millis();
@@ -473,7 +480,9 @@ DltReturnValue dlt_kpi_check_loop()
else
sleep_millis = config.check_log_interval - dif_millis;
- usleep(sleep_millis * 1000);
+ ts.tv_sec = (sleep_millis * NANOSEC_PER_MILLISEC) / NANOSEC_PER_SEC;
+ ts.tv_nsec = (sleep_millis * NANOSEC_PER_MILLISEC) % NANOSEC_PER_SEC;
+ nanosleep(&ts, NULL);
old_millis = get_millis();
}
diff --git a/src/kpi/dlt-kpi.h b/src/kpi/dlt-kpi.h
index ff647d4..4cefb73 100644
--- a/src/kpi/dlt-kpi.h
+++ b/src/kpi/dlt-kpi.h
@@ -40,6 +40,9 @@
#define COMMAND_LINE_SIZE 1024
+#define NANOSEC_PER_MILLISEC 1000000
+#define NANOSEC_PER_SEC 1000000000
+
/* STRUCTURES */
typedef struct
{