char *clockstring(int clockid)
{ switch (clockid) { case CLOCK_REALTIME: return"CLOCK_REALTIME"; case CLOCK_MONOTONIC: return"CLOCK_MONOTONIC"; case CLOCK_PROCESS_CPUTIME_ID: return"CLOCK_PROCESS_CPUTIME_ID"; case CLOCK_THREAD_CPUTIME_ID: return"CLOCK_THREAD_CPUTIME_ID"; case CLOCK_MONOTONIC_RAW: return"CLOCK_MONOTONIC_RAW"; case CLOCK_REALTIME_COARSE: return"CLOCK_REALTIME_COARSE"; case CLOCK_MONOTONIC_COARSE: return"CLOCK_MONOTONIC_COARSE"; case CLOCK_BOOTTIME: return"CLOCK_BOOTTIME"; case CLOCK_REALTIME_ALARM: return"CLOCK_REALTIME_ALARM"; case CLOCK_BOOTTIME_ALARM: return"CLOCK_BOOTTIME_ALARM"; case CLOCK_TAI: return"CLOCK_TAI";
}; return"UNKNOWN_CLOCKID";
}
/* returns 1 if a <= b, 0 otherwise */ staticinlineint in_order(struct timespec a, struct timespec b)
{ if (a.tv_sec < b.tv_sec) return1; if (a.tv_sec > b.tv_sec) return0; if (a.tv_nsec > b.tv_nsec) return0; return1;
}
length = 10; while (length <= (NSEC_PER_SEC * 10)) {
ret = nanosleep_test(clockid, length); if (ret == UNSUPPORTED) {
ksft_test_result_skip("%-31s\n", clockstring(clockid)); goto next;
} if (ret < 0) {
ksft_test_result_fail("%-31s\n", clockstring(clockid));
ksft_exit_fail();
}
length *= 100;
}
ksft_test_result_pass("%-31s\n", clockstring(clockid));
next:
ret = 0;
}
ksft_exit_pass();
}
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.22Bemerkung:
(vorverarbeitet am 2026-10-12)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.