From df6fc2a1ce9f3a1778e9c8e14c800cd2ad96e96e Mon Sep 17 00:00:00 2001 From: Saya Sugiura Date: Tue, 8 Jan 2019 16:45:04 +0900 Subject: POSIX: Replace usleep with nanosleep Signed-off-by: Saya Sugiura --- src/kpi/dlt-kpi.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'src/kpi/dlt-kpi.c') 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(); } -- cgit v1.2.1