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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
|
==================== Changes in man-pages-3.12 ====================
Released: 2008-10-29, Bucaramanga
Contributors
------------
The following people contributed notes, ideas, or patches that have
been incorporated in changes in this release:
Apologies if I missed anyone!
New and rewritten pages
-----------------------
pthread_attr_init.3
Michael Kerrisk
New page for pthread_attr_init(3) and pthread_attr_destroy(3)
pthread_attr_setdetachstate.3
Michael Kerrisk
New page for pthread_attr_setdetachstate(3) and
pthread_attr_getdetachstate(3)
pthread_attr_setguardsize.3
Michael Kerrisk
New page for pthread_attr_setguardsize(3) and
pthread_attr_getguardsize(3)
pthread_attr_setscope.3
Michael Kerrisk
New page for pthread_attr_setscope(3) and pthread_attr_getscope(3)
pthread_attr_setstack.3
Michael Kerrisk
New page for pthread_attr_setstack(3) and pthread_attr_getstack(3)
pthread_attr_setstackaddr.3
Michael Kerrisk
New page for pthread_attr_setstackaddr(3) and
pthread_attr_getstackaddr(3)
pthread_attr_setstacksize.3
Michael Kerrisk
New page for pthread_attr_setstacksize(3) and
pthread_attr_getstacksize(3)
pthread_create.3
Michael Kerrisk
New page describing pthread_create(3)
pthread_detach.3
Michael Kerrisk
New page for pthread_detach(3)
pthread_equal.3
Michael Kerrisk
New page for pthread_equal(3)
pthread_exit.3
Michael Kerrisk
New page describing pthread_exit(3)
pthread_getattr_np.3
Michael Kerrisk
New page for pthread_getattr_np(3)
pthread_join.3
Michael Kerrisk
New page for pthread_join(3)
pthread_self.3
Michael Kerrisk
New page for pthread_self(3)
pthread_tryjoin_np.3
Michael Kerrisk
New page for pthread_tryjoin_np(3) and pthread_timedjoin_np(3)
Newly documented interfaces in existing pages
---------------------------------------------
dup.2
Michael Kerrisk
Add description of dup3()
dup3() was added in kernel 2.6.27.
epoll_create.2
Michael Kerrisk
Add description of new epoll_create1()
The new epoll_create1() system call appeared in Linux 2.6.27.
eventfd.2
Michael Kerrisk
Describe eventfd2() and EFD_NONBLOCK and EFD_CLOEXEC
Linux 2.6.27 added eventfd(), which supports a flags argument
that eventfd() did not provide. The flags so far implemented
are EFD_NONBLOCK and EFD_CLOEXEC,
inotify_init.2
Michael Kerrisk
Add description of inotify_init1()
The inotify_init1() system call was added in Linux 2.6.27.
pipe.2
Michael Kerrisk
Add description of new pipe2() syscall
pipe2() was added in 2.6.27. Describe the O_NONBLOCK and
O_CLOEXEC flags.
signalfd.2
Michael Kerrisk
Describe signalfd4() and SFD_NONBLOCK and SFD_CLOEXEC
Linux 2.6.27 added signalfd4(), which supports a flags argument
that signalfd() did not provide. The flags so far implemented
are SFD_NONBLOCK and SFD_CLOEXEC.
New and changed links
---------------------
dup3.2
Michael Kerrisk
New link to dup.2
dup.2 now contains the description of the new dup3() syscall.
epoll_create1.2
Michael Kerrisk
New link to epoll_create.2
epoll_create.2 now includes a description of the new
epoll_create1() system call.
eventfd2.2
Michael Kerrisk
New link to eventfd.2
The eventfd.2 page has some details on the eventfd2() system call,
which was new in Linux 2.6.27.
inotify_init1.2
Michael Kerrisk
New link to inotify_init.2
inotify_init.2 now includes a description of the new
inotify_init1() system call.
pipe2.2
Michael Kerrisk
New link to pipe.2
pipe(2) now contains a description of the new pipe2() syscall.
pthread_attr_destroy.3
Michael Kerrisk
New link to new pthread_attr_init.3
pthread_attr_getdetachstate.3
Michael Kerrisk
New link to new pthread_attr_setdetachstate.3
pthread_attr_getguardsize.3
Michael Kerrisk
New link to new pthread_attr_setguardsize.3
pthread_attr_getscope.3
Michael Kerrisk
New link to new pthread_attr_setscope.3
pthread_attr_getstack.3
Michael Kerrisk
New link to new pthread_attr_setstack.3
pthread_attr_getstackaddr.3
Michael Kerrisk
New link to new pthread_attr_setstackaddr.3
pthread_attr_getstacksize.3
Michael Kerrisk
New link to new pthread_attr_setstacksize.3
pthread_timedjoin_np.3
Michael Kerrisk
New link to new pthread_tryjoin_np.3
signalfd4.2
Michael Kerrisk
New link to signalfd.2
signalfd.2 now includes text describing signalfd4() system call,
new in Linux 2.6.27.
Global changes
--------------
eventfd.2, getdents.2, mprotect.2, signalfd.2, timerfd_create.2,
wait.2, backtrace.3, clock_getcpuclockid.3, end.3, fmemopen.3,
fopencookie.3, getdate.3, getgrouplist.3, getprotoent_r.3,
getservent_r.3, gnu_get_libc_version.3, inet.3, inet_pton.3,
makecontext.3, matherr.3, offsetof.3, pthread_attr_init.3,
pthread_create.3, pthread_getattr_np.3, sem_wait.3, strtol.3, core.5
Michael Kerrisk
Add ".SS Program source" to EXAMPLE
Add ".SS Program source" to clearly distinguish shell session and
descriptive text from actual program code.
eventfd.2, execve.2, getdents.2, ioprio_set.2, mprotect.2,
signalfd.2, timerfd_create.2, wait.2, backtrace.3,
clock_getcpuclockid.3, end.3, fmemopen.3, fopencookie.3, frexp.3,
getdate.3, getgrouplist.3, getprotoent_r.3, getservent_r.3,
gnu_get_libc_version.3, inet.3, inet_pton.3, makecontext.3,
malloc.3, matherr.3, offsetof.3, pthread_attr_init.3,
pthread_create.3, pthread_getattr_np.3, sem_wait.3, strftime.3,
strtok.3, strtol.3, core.5, proc.5, cpuset.7, mq_overview.7
Michael Kerrisk
Format user input in shell sessions in boldface
frexp.3, strftime.3, strtok.3
Michael Kerrisk
Relocate shell session above example program
Move the shell session text that demonstrates the use of
the example program so that it precedes the actual
example program. This makes the page consistent with the
majority of other pages.
Changes to individual pages
---------------------------
epoll_create.2
Michael Kerrisk
Say more about unused epoll_create() 'size' arg
Supply a little more explanation about why the 'size' argument
of epoll_create() is nowadays ignored.
eventfd.2
Michael Kerrisk
Remove crufty text relating to flags argument
Remove sentence saying that glibc adds a flags argument
to the syscall; that was only relevant for the older
eventfd() system call.
getdents.2
Christoph Hellwig
Fix text relating to DT_UNKNOWN and 'd_type' support
Some file systems provide partial support for 'dt_type',
returning DT_UNKNOWN for cases they don't support.
Update the discussion of 'd_type' and DT_UNKNOWN to
support this.
getpeername.2, getsockname.2
Michael Kerrisk
SEE ALSO: add ip(7) and unix(7)
getsockopt.2
Michael Kerrisk
EINVAL can also occur if 'optval' is invalid
In some cases, EINVAL can occur if 'optval' is invalid.
Note this, and point reader to an example in ip(7).
In response to:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=216092
inotify_init.2, pipe.2, timerfd_create.2
Michael Kerrisk
Clarify *_NONBLOCK description
Make it clear that the NONBLOCK flag sets an attribute in the new
open file description.
sched_yield.2
Michael Kerrisk
Rewrite description in terms of threads
The text formerly described the operation of sched_yield() in
terms of processes. It should be in terms of threads.
Michael Kerrisk
Add NOTES text on appropriate use of sched_yield()
Strategic calls to sched_yield() can be used to improve
performance, but unnecessary use should be avoided.
sigaction.2
Michael Kerrisk
Clarify that sa_mask affects the *per-thread* signal mask
The page didn't previously clearly explain the scope of the
signal mask that is affected by sa_mask.
signalfd.2
Michael Kerrisk
Remove crufty text relating to flags argument
Remove sentence saying that glibc adds a flags argument
to the syscall; that was only relevant for the older
signalfd() system call.
sigprocmask.2
Michael Kerrisk
Clarify that sigprocmask() operates on a per-thread mask
The first sentence of the page was vague on the scope of the
attribute changed by sigprocmask(). Reword to make this
clearer and add a sentence in NOTES to explicitly state that
the signal mask is a per-thread attribute.
socket.2
Michael Kerrisk
Document SOCK_NONBLOCK and SOCK_CLOEXEC flags
These flags, specified in the 'type' argument, are supported
since Linux 2.6.27.
socketpair.2
Michael Kerrisk
Refer to socket(2) for SOCK_CLOEXEC and SOCK_NONBLOCK
Refer the reader to socket(2) for a description of the SOCK_CLOEXEC
and SOCK_NONBLOCK flags, which are supported by socketpair() since
Linux 2.6.27.
syscalls.2
Michael Kerrisk
Add new 2.6.27 system calls
Add pipe2(), dup3(), epoll_create1(), inotify_init1(),
eventfd2(), signalfd4().
timerfd_create.2
Michael Kerrisk
Document timerfd_create() TFD_CLOEXEC and TFD_NONBLOCK
TFD_CLOEXEC and TFD_NONBLOCK are supported since LInux 2.6.27.
vfork.2
Michael Kerrisk
Clarify meaning of "child releases the parent's memory"
The man page was not explicit about how the memory used by
the child is released back to the parent.
ctime.3
Michael Kerrisk
ctime_r() and localtime_r() need not set 'timezone' and 'daylight'
The man page already noted that these functions need not set
'tzname', but things could be clearer: it tzset() is not called,
then the other two variables also are not set.
Also, clarify that ctime() does set 'timezone' and 'daylight'.
dlopen.3
Michael Kerrisk
LD_LIBRARY_PATH is inspected once, at program start-up
Make it clear that LD_LIBRARY_PATH is inspected *once*, at
program start-up. (Verified from source and by experiment.)
fmemopen.3
Michael Kerrisk
Document binary mode (mode 'b')
Glibc 2.9 adds support to fmemopen() for binary mode opens.
Binary mode is specified by inclusion of the letter 'b' in
the 'mode' argument.
getaddrinfo.3
Michael Kerrisk
Clarify error descriptions with some examples
Clarify the description of some errors by giving examples
that produce the errors. (Text added for EAI_SERVICE and
EAI_SOCKTYPE.)
Also, add an error case for EAI_BADFLAGS.
gethostbyname.3
Michael Kerrisk
Rationalize text on POSIX.1-2001 obsolete interfaces
POSIX.1 marks gethostbyname(), gethostbyaddr(), and 'h_errno'
as obsolete. The man page explained this, but with some
duplication. Remove the duplication, and otherwise tidy up
discussion of this point.
popen.3
Michael Kerrisk
Change one-line description in NAME
s%process I/O%pipe stream to or from a process%
Michael Kerrisk
Document 'e' (close-on-exec) flag
glibc 2.9 implements the 'e' flag in 'type', which sets the
close-on-exec flag on the underlying file descriptor.
raise.3
Michael Kerrisk
SEE ALSO: add pthread_kill(3)
readdir.3
Christoph Hellwig
Fix text relating to DT_UNKNOWN and 'd_type' support
(This mirrors the previous change to getdents.2)
Some file systems provide partial support for 'dt_type',
returning DT_UNKNOWN for cases they don't support.
Update the discussion of 'd_type' and DT_UNKNOWN to
support this.
strcpy.3
Jason Spiro
Strengthen warning about checking against buffer overruns
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=413940
tty_ioctl.4
Michael Kerrisk
Explain capability requirements for TIOCCONS
Explain capability requirements for TIOCCONS, and describe
changes in 2.6.10 relating to capabilities.
Michael Kerrisk
Explain capability requirements for various ioctls
For TIOCSLCKTRMIOS, TIOCSCTTY, TIOCEXCL, explain the exact
capability that is required (the text formerly just said "root"
in each case).
proc.5
Michael Kerrisk
Document /proc/sys/kernel/threads-max
Defines the system-wide limit on the number of threads (tasks).
utmp.5
Pierre Cazenave
It is just "other" who should not have write perms on utmp
The page was vague before, saying that utmp should not be
writable by any user. This isn't true: it can be, and
typically is, writable by user and group.
epoll.7
Michael Kerrisk
Mention epoll_create1() as part of epoll API
epoll_create1() was added in Linux 2.6.27, and extends the
functionality of epoll_create().
inotify.7
Michael Kerrisk
Mention inotify_init1() in overview of API
Discuss the new inotify_init1() system call in the overview of
the inotify API.
ip.7
Michael Kerrisk
Detail EINVAL error for IP_ADD_MEMBERSHIP socket option
In response to:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=216092
iso_8859-7.7
Lefteris Dimitroulakis
Add Drachma, Euro, and Greek Ypogegrammeni
Also, amend description of characters 0241 and 0242.
man-pages.7
Michael Kerrisk
Example shell sessions should have user input boldfaced
pthreads.7
Michael Kerrisk
Describe return value from pthreads functions
Describe the usual success (0) and failure (non-zero) returns,
and note that POSIX.1-2001 specifies that pthreads functions
can never fail with the error EINTR.
signal.7
Michael Kerrisk
Timeouts make socket interfaces non-restartable
If setsockopt() is used to set a timeout on a socket(),
then the various socket interfaces are not automatically
restarted, even if SA_RESTART is specified when
establishing the signal handler. Analogous behavior occurs
for the "stop signals" case.
socket.7
Michael Kerrisk
SEE ALSO: add unix(7)
ld.so.8
Michael Kerrisk
Document LD_USE_LOAD_BIAS
Drawing heavily on Jakub Jelinek's description in
http://sources.redhat.com/ml/libc-hacker/2003-11/msg00127.html
(Subject: [PATCH] Support LD_USE_LOAD_BIAS)
--inhibit-rpath is ignored for setuid/setgid ld.so
The --inhibit-rpath option is ignored if ld.so is setuid/setgid
(not if the executable is setuid/setgid).
Michael Kerrisk
Since glibc 2.4, setuid/setgid programs ignore LD_ORIGIN_PATH
Michael Kerrisk
Fix description of LD_PROFILE and LD_PROFILE_OUTPUT
Clarify that LD_PROFILE is pathname or a soname,
and identify name of profiling output file.
Fix description of LD_PROFILE_OUTPUT, which wasn't even close to
the truth. (But why did it remain unfixed for so many years?)
Michael Kerrisk
Since glibc 2.3.4, setuid/setgid programs ignore LD_DYNAMIC_WEAK
Michael Kerrisk
Since version 2.3.5, setuid/setgid programs ignore LD_SHOW_AUXV
Michael Kerrisk
Reorder lists of LD_* environment variables alphabetically
Michael Kerrisk
Since glibc 2.3.4, setuid/setgid programs ignore LD_DEBUG
|