File: futex.2

package info (click to toggle)
manpages-ja 0.5.0.0.20050315-1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 18,620 kB
  • ctags: 4
  • sloc: sh: 12,675; perl: 157; makefile: 106
file content (130 lines) | stat: -rw-r--r-- 4,820 bytes parent folder | download
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
.\" Page by b.hubert - may be freely modified and distributed
.\"
.\" Niki A. Rahimi (LTC Security Development, narahimi@us.ibm.com)
.\" added ERRORS section.
.\"
.\" Japanese Version Copyright(C) 2003 Suzuki Takashi
.\"         all rights reserved.
.\" Translated Fri Oct 24 10:37:10 JST 2003
.\"         by Suzuki Takashi.
.\"
.\"WORD: integer                int ѿ
.\"WORD: sleep                  Ԥ
.\"WORD: wake                   
.\"WORD: wake up                
.\"
.TH "FUTEX" "2" "31 December 2002" "" ""
.SH "̾"
futex \- ®桼֥åΥƥॳ
.SH ""
.sp
.B "#include <linux/futex.h>"
.sp
.B "#include <sys/time.h>"
.sp
.BI "int sys_futex (void *" futex ", int " op ", int " val ", const struct timespec *" timeout );
.SH ""
.PP
\fBsys_futex\fR ƥॳϡ
ꤷɥ쥹ͤѹΤץबԤļʤ
Υɥ쥹ФԵΥץ wake () ʤ󶡤
(ץۤʤƱФ륢ɥ쥹ƱǤϤʤ⤷ʤ
ͥϰۤʤ֤˥ޥåפ줿Ʊ \fBsys_futex\fR 
Ȥ褦ǥޥåפ) 
ŵŪˤϡ futex  \fBfutex\fR(4) ˵Ƥ褦ˡ
ͭΥå礹νΤѤ롣
.PP
\fBfutex\fr(4) 桼֤Ƕʤλʤä硢
ͥۤ뤿˥ƥॳƤɬפ롣
ۤȤΤϡƤӽФץ sleep (Ԥ) ꡢȿФ
Ԥץ wake ꤹ뤳Ȥ̣롣
.PP
δؿƤӽФץ
\fBfutex\fR(4) ˵ҤƤ륻ޥƥ¤Ǥ뤳Ȥ׵ᤵ롣
ΥޥƥˤϰܿԲǽʥ֥̿񤯤Ȥޤޤ롣
ΤȤϸ futex Υ桼ΤۤȤɤϼºݤϥ饤֥κԤǤꡢ
̥ץꥱγȯԤǤϤʤȤȤǤ롣
.PP
\fIfutex\fR ϡ󥿤Ǽ롢
饤Ȥ·ä int ѿؤƤɬפ롣
¹Ԥ \fIop\fR ѥ᡼𤷤ơ \fIval\fR ȤȤϤ롣
.PP
ߤΤȤ 3 ĤƤ:
.TP
\fBFUTEX_WAIT\fR
 futex ɥ쥹˻ꤵ줿ͤޤ
ǼƤ뤫ɤԲʬǸڤ
sleep ֤
 futex ɥ쥹Ф \fIFUTEX_WAKE\fR ¹ԤΤԤġ
\fItimeout\fR  NULL Ǥʤ硢Ƥ
Ԥ֤κͤɽ NULL ξ̵ɽ
\fBfutex\fR(4) ˾Ȥ餷碌ȡθƤӽФ
ȤΥǥȤ (ɽ) ˤʤä˼¹Ԥ졢
̤Υץ futex  \fIFUTEX_WAKE\fR ¹Ԥޤ
sleep 롣
.TP
\fBFUTEX_WAKE\fR
Ǥϻꤷ futex ɥ쥹ФԤ֤
(ʤ \fIFUTEX_WAIT\fR )  \fIval\fR ĤΥץ wake 롣
\fBfutex\fR(4) ˾Ȥ餷碌ȡ

ȤΥ󥯥ȤԤץȽ
futex ͤ 1 ꤵ줿 (ѲǽǤ뤳Ȥɽ) ˼¹Ԥ롣
.TP
\fBFUTEX_FD\fR
Ʊ wake б뤿ᡢϥեǥץ futex 
ϢŤ롣̤Υץ \fIFUTEX_WAKE\fR ¹Ԥȡ
ץ \fIval\fR Ϥ줿ʥֹΥʥ롣
ƤӽФץϻѸ塢֤줿եǥץ
ʤФʤʤ

֤ɻߤ뤿ᡢƤӽФץ \fIFUTEX_FD\fR ֤ä
futex  up 줿ɤǧʤФʤʤ
.SH "֤"
.PP
ɤ¹Ԥ줿ˤäơ֤ͤϰۤʤ̣ġ
.TP
\fBFUTEX_WAIT\fR
ץ \fIFUTEX_WAKE\fR θƤӽФ wake  0 ֤
ॢȤξ硢 ETIMEOUT ֤롣
futex ꤵ줿ͤʤ硢 EWOULDBLOCK ֤롣
ʥ (ޤ¾ε wake ˤä) EINTR ֤
.TP
\fBFUTEX_WAKE\fR
wake ץο֤
.TP
\fBFUTEX_FD\fR
futex ˴ϢŤ줿ʥեǥץ֤
.SH "顼"
.TP
.B EFAULT
桼֤
.I timeout
ξݤ˥顼ȯ
.TP
.B EINVAL
Ƥʤޤϥڡ饤Ȥǥ顼ȯ
.SH ""
.PP
֤ futex ϥɥ桼ưפ˻ȤȤΤǤ복ǰȤ
տޤ줿ΤǤϤʤ
Ԥϡ֥˴Ƥꡢʲ˵󤲤 futex 桼֥饤֥
ɤ߽Ƥ뤳Ȥ׵ᤵ롣
.SH ""
.PP
futex  Hubertus Franke (IBM Thomas J. Watson Research Center) 
Matthew Kirkwood  Ingo Molnar (Red Hat) 
Rusty Russell (IBM Linux Technology Center) ߷פƤ
Υڡ bert hubert 
.SH С
.PP
ǽ futex б Linux 2.5.7 Ȥ߹ޤ줿
嵭ΥޥƥȤϰۤʤ롣
ߤΥޥƥ Linux 2.5.40 ʹߤѲǽǤ롣
.SH "Ϣ"
.PP
\fBfutex\fR(4) 
`Fuss, Futexes and Furwocks: Fast Userlevel Locking in Linux'
(proceedings of the Ottawa Linux Symposium 2002) 
futex λ饤֥ꡢ futex-*.tar.bz2
<URL:ftp://ftp.kernel.org:/pub/linux/kernel/people/rusty/>