clock.c 292 B

12345678910111213141516
  1. #include <time.h>
  2. #include <limits.h>
  3. clock_t clock()
  4. {
  5. struct timespec ts;
  6. if (__clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &ts))
  7. return -1;
  8. if (ts.tv_sec > LONG_MAX/1000000
  9. || ts.tv_nsec/1000 > LONG_MAX-1000000*ts.tv_sec)
  10. return -1;
  11. return ts.tv_sec*1000000 + ts.tv_nsec/1000;
  12. }