diff --git a/netutils/iperf/Kconfig b/netutils/iperf/Kconfig index 0954ef7a1..3cebb9c68 100644 --- a/netutils/iperf/Kconfig +++ b/netutils/iperf/Kconfig @@ -10,7 +10,6 @@ config NETUTILS_IPERF select NETUTILS_NETLIB select LIBC_FLOATINGPOINT select SYSTEM_ARGTABLE3 - select CLOCK_MONOTONIC ---help--- Enable the \"iperf example\" diff --git a/netutils/iperf/iperf.c b/netutils/iperf/iperf.c index 58efbcf31..6ee511a82 100644 --- a/netutils/iperf/iperf.c +++ b/netutils/iperf/iperf.c @@ -231,9 +231,14 @@ static void iperf_report_task(void *arg) struct timespec start; uintmax_t now_len; int ret; +#ifdef CONFIG_CLOCK_MONOTONIC + const clockid_t clockid = CLOCK_MONOTONIC; +#else + const clockid_t clockid = CLOCK_REALTIME; +#endif now_len = s_iperf_ctrl.total_len; - ret = clock_gettime(CLOCK_MONOTONIC, &now); + ret = clock_gettime(clockid, &now); if (ret != 0) { fprintf(stderr, "clock_gettime failed\n"); @@ -251,7 +256,7 @@ static void iperf_report_task(void *arg) last_len = now_len; last = now; now_len = s_iperf_ctrl.total_len; - ret = clock_gettime(CLOCK_MONOTONIC, &now); + ret = clock_gettime(clockid, &now); if (ret != 0) { fprintf(stderr, "clock_gettime failed\n");