diff options
author | Saya Sugiura <ssugiura@jp.adit-jv.com> | 2019-01-08 16:45:04 +0900 |
---|---|---|
committer | Saya Sugiura <ssugiura@jp.adit-jv.com> | 2019-05-06 15:55:01 +0900 |
commit | df6fc2a1ce9f3a1778e9c8e14c800cd2ad96e96e (patch) | |
tree | 6356575d4f9e6461769f7b40b72829366feb37b4 /src/kpi | |
parent | 4fe69b0927f4c5d0cb3b3ae4fa64500db22b13d0 (diff) | |
download | DLT-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.c | 15 | ||||
-rw-r--r-- | src/kpi/dlt-kpi.h | 3 |
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 { |