Changeset cc36562b in mainline for uspace/lib/posix


Ignore:
Timestamp:
2018-08-25T19:06:27Z (8 years ago)
Author:
Jakub Jermar <jakub@…>
Children:
72df613
Parents:
02f547f
Message:

Provide a single clock() implementation in libc

Also attempt to fix the implementation to return microseconds (clocks)
rather than processor cycles.

Location:
uspace/lib/posix
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/posix/include/posix/time.h

    r02f547f rcc36562b  
    4242
    4343#include "libc/time.h"
    44 
    45 #undef CLOCKS_PER_SEC
    46 #define CLOCKS_PER_SEC (1000000L)
    4744
    4845#ifndef __locale_t_defined
     
    10299    const struct timespec *rqtp, struct timespec *rmtp);
    103100
    104 /* CPU Time */
    105 extern clock_t clock(void);
    106 
    107101#endif  // POSIX_TIME_H_
    108102
  • uspace/lib/posix/src/time.c

    r02f547f rcc36562b  
    4949#include "libc/malloc.h"
    5050#include "libc/task.h"
    51 #include "libc/stats.h"
    5251#include "libc/stddef.h"
    5352#include "libc/time.h"
     
    311310}
    312311
    313 /**
    314  * Get CPU time used since the process invocation.
    315  *
    316  * @return Consumed CPU cycles by this process or -1 if not available.
    317  */
    318 clock_t clock(void)
    319 {
    320         clock_t total_cycles = -1;
    321         stats_task_t *task_stats = stats_get_task(task_get_id());
    322         if (task_stats) {
    323                 total_cycles = (clock_t) (task_stats->kcycles +
    324                     task_stats->ucycles);
    325                 free(task_stats);
    326                 task_stats = 0;
    327         }
    328 
    329         return total_cycles;
    330 }
    331 
    332312int gettimeofday(struct timeval *tv, void *tz)
    333313{
Note: See TracChangeset for help on using the changeset viewer.