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 amount of time the thread has spent running. For more information, see Monitoring execution times in the Understanding the Microkernel's Concept of Time chapter of the QNX Neutrino RTOS Programmer's Guide.
#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 |