diff options
Diffstat (limited to 'man3/pthread_getcpuclockid.3')
-rw-r--r-- | man3/pthread_getcpuclockid.3 | 45 |
1 files changed, 22 insertions, 23 deletions
diff --git a/man3/pthread_getcpuclockid.3 b/man3/pthread_getcpuclockid.3 index 8c11a301c..127d662f0 100644 --- a/man3/pthread_getcpuclockid.3 +++ b/man3/pthread_getcpuclockid.3 @@ -4,7 +4,7 @@ .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" -.TH pthread_getcpuclockid 3 2022-12-15 "Linux man-pages 6.03" +.TH pthread_getcpuclockid 3 2023-07-20 "Linux man-pages 6.05.01" .SH NAME pthread_getcpuclockid \- retrieve ID of a thread's CPU time clock .SH LIBRARY @@ -45,27 +45,26 @@ Per-thread CPU time clocks are not supported by the system. No thread with the ID .I thread could be found. -.SH VERSIONS -This function is available since glibc 2.2. .SH ATTRIBUTES For an explanation of the terms used in this section, see .BR attributes (7). -.ad l -.nh .TS allbox; lbx lb lb l l l. Interface Attribute Value T{ +.na +.nh .BR pthread_getcpuclockid () T} Thread safety MT-Safe .TE -.hy -.ad .sp 1 .SH STANDARDS -POSIX.1-2001, POSIX.1-2008. +POSIX.1-2008. +.SH HISTORY +glibc 2.2. +POSIX.1-2001. .SH NOTES When .I thread @@ -100,7 +99,7 @@ Subthread CPU time: 0.992 .\" SRC BEGIN (pthread_getcpuclockid.c) .EX /* Link with "\-lrt" */ - +\& #include <errno.h> #include <pthread.h> #include <stdint.h> @@ -109,13 +108,13 @@ Subthread CPU time: 0.992 #include <string.h> #include <time.h> #include <unistd.h> - +\& #define handle_error(msg) \e do { perror(msg); exit(EXIT_FAILURE); } while (0) - +\& #define handle_error_en(en, msg) \e do { errno = en; perror(msg); exit(EXIT_FAILURE); } while (0) - +\& static void * thread_start(void *arg) { @@ -123,51 +122,51 @@ thread_start(void *arg) for (;;) continue; } - +\& static void pclock(char *msg, clockid_t cid) { struct timespec ts; - +\& printf("%s", msg); if (clock_gettime(cid, &ts) == \-1) handle_error("clock_gettime"); printf("%4jd.%03ld\en", (intmax_t) ts.tv_sec, ts.tv_nsec / 1000000); } - +\& int main(void) { pthread_t thread; clockid_t cid; int s; - +\& s = pthread_create(&thread, NULL, thread_start, NULL); if (s != 0) handle_error_en(s, "pthread_create"); - +\& printf("Main thread sleeping\en"); sleep(1); - +\& printf("Main thread consuming some CPU time...\en"); for (unsigned int j = 0; j < 2000000; j++) getppid(); - +\& pclock("Process total CPU time: ", CLOCK_PROCESS_CPUTIME_ID); - +\& s = pthread_getcpuclockid(pthread_self(), &cid); if (s != 0) handle_error_en(s, "pthread_getcpuclockid"); pclock("Main thread CPU time: ", cid); - +\& /* The preceding 4 lines of code could have been replaced by: pclock("Main thread CPU time: ", CLOCK_THREAD_CPUTIME_ID); */ - +\& s = pthread_getcpuclockid(thread, &cid); if (s != 0) handle_error_en(s, "pthread_getcpuclockid"); pclock("Subthread CPU time: 1 ", cid); - +\& exit(EXIT_SUCCESS); /* Terminates both threads */ } .EE |