Return the clock ID of the CPU-time clock from a specified thread
#include <sys/types.h>
#include <time.h>
#include <pthread.h>
int pthread_getcpuclockid( pthread_t id,
clockid_t* clock_id);
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The pthread_getcpuclockid() function gets the clock ID of the CPU-time clock of the thread specified by id (if the thread exists) and stores the clock ID in the object that clock_id points to. The CPU-time clock represents the approximate amount of time the thread has spent running. For more information, see "Monitoring execution times" in the Tick, Tock: Understanding the Microkernel's Concept of Time chapter of the
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <errno.h>
#include <pthread.h>
int main( int argc, const char *argv[] )
{
clockid_t clk_id;
struct timespec tspec;
pthread_t tid;
tid = pthread_self();
if (pthread_getcpuclockid( tid, &clk_id) == 0)
{
if (clock_gettime( clk_id, &tspec ) != 0)
{
perror ("clock_gettime():");
}
else
{
printf ("CPU time for tid %d is %d seconds, %ld nanoseconds.\n",
tid, tspec.tv_sec, tspec.tv_nsec);
}
}
else
{
printf ("pthread_getcpuclockid(): no thread with ID %d.\n", tid);
}
return EXIT_SUCCESS;
}
| Safety: | |
|---|---|
| Cancellation point | No |
| Interrupt handler | No |
| Signal handler | Yes |
| Thread | Yes |