File: sched_getcpu.3

package info (click to toggle)
manpages 6.03-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 18,720 kB
  • sloc: perl: 3,144; sh: 497; python: 181; makefile: 108; lisp: 22
file content (93 lines) | stat: -rw-r--r-- 1,627 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
'\" t
.\" Copyright (c) 2008, Linux Foundation, written by Michael Kerrisk
.\"     <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.TH sched_getcpu 3 2022-12-15 "Linux man-pages 6.03"
.SH NAME
sched_getcpu \- determine CPU on which the calling thread is running
.SH LIBRARY
Standard C library
.RI ( libc ", " \-lc )
.SH SYNOPSIS
.nf
.B #include <sched.h>
.PP
.B int sched_getcpu(void);
.fi
.PP
.RS -4
Feature Test Macro Requirements for glibc (see
.BR feature_test_macros (7)):
.RE
.PP
.BR sched_getcpu ():
.nf
    Since glibc 2.14:
        _GNU_SOURCE
    Before glibc 2.14:
        _BSD_SOURCE || _SVID_SOURCE
            /* _GNU_SOURCE also suffices */
.fi
.SH DESCRIPTION
.BR sched_getcpu ()
returns the number of the CPU
on which the calling thread is currently executing.
.SH RETURN VALUE
On success,
.BR sched_getcpu ()
returns a nonnegative CPU number.
On error, \-1 is returned and
.I errno
is set to indicate the error.
.SH ERRORS
.TP
.B ENOSYS
This kernel does not implement
.BR getcpu (2).
.SH VERSIONS
This function is available since glibc 2.6.
.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{
.BR sched_getcpu ()
T}	Thread safety	MT-Safe
.TE
.hy
.ad
.sp 1
.SH STANDARDS
.BR sched_getcpu ()
is glibc-specific.
.SH NOTES
The call
.PP
.in +4n
.EX
cpu = sched_getcpu();
.EE
.in
.PP
is equivalent to the following
.BR getcpu (2)
call:
.PP
.in +4n
.EX
int c, s;
s = getcpu(&c, NULL, NULL);
cpu = (s == \-1) ? s : c;
.EE
.in
.SH SEE ALSO
.BR getcpu (2),
.BR sched (7)