2008-10-07 07:41:53 +00:00
|
|
|
|
==================== Changes in man-pages-3.11 ====================
|
2007-09-19 21:40:03 +00:00
|
|
|
|
|
2008-09-24 13:44:24 +00:00
|
|
|
|
Released: ????-??-??, Munich
|
2007-09-19 21:40:03 +00:00
|
|
|
|
|
|
|
|
|
|
2007-11-24 13:50:54 +00:00
|
|
|
|
Contributors
|
|
|
|
|
------------
|
2007-10-23 11:33:49 +00:00
|
|
|
|
|
2007-11-24 13:50:54 +00:00
|
|
|
|
The following people contributed notes, ideas, or patches that have
|
|
|
|
|
been incorporated in changes in this release:
|
2007-09-20 18:15:23 +00:00
|
|
|
|
|
2008-10-07 07:33:36 +00:00
|
|
|
|
Andr<EFBFBD> Goddard Rosa <andre.goddard@gmail.com>
|
|
|
|
|
Eugene V. Lyubimkin <jackyf.devel@gmail.com>
|
|
|
|
|
Gergely Soos <sogerc1@gmail.com>
|
|
|
|
|
Kirill A. Shutemov <kirill@shutemov.name>
|
|
|
|
|
Marko Kreen <markokr@gmail.com>
|
|
|
|
|
Maxin B. John <maxin.john@ap.sony.com>
|
|
|
|
|
Maxin John <maxin.john@gmail.com>
|
|
|
|
|
Michael Kerrisk <mtk.manpages@gmail.com>
|
|
|
|
|
Nicolas Fran<61>ois <nicolas.francois@centraliens.net>
|
|
|
|
|
Pavel Heimlich <tropikhajma@seznam.cz>
|
|
|
|
|
Ricardo Catalinas Jim<69>nez <jimenezrick@gmail.com>
|
|
|
|
|
Sam Varshavchik <mrsam@courier-mta.com>
|
2007-11-24 13:50:54 +00:00
|
|
|
|
Apologies if I missed anyone!
|
2007-11-24 10:49:28 +00:00
|
|
|
|
|
|
|
|
|
|
2008-09-24 13:44:24 +00:00
|
|
|
|
New and rewritten pages
|
|
|
|
|
-----------------------
|
|
|
|
|
|
2008-10-07 07:33:36 +00:00
|
|
|
|
umount.2
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
Create a new page for umount() and umount2() by extracting
|
|
|
|
|
existing material from mount.2 page.
|
2008-09-24 13:44:24 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
New and changed links
|
|
|
|
|
---------------------
|
|
|
|
|
|
2008-10-07 07:33:36 +00:00
|
|
|
|
umount2.2
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
umount2.2: Change link to point to new umount.2
|
2008-09-24 13:44:24 +00:00
|
|
|
|
|
2008-10-07 07:33:36 +00:00
|
|
|
|
The umount2() material migrated from mount.2 to umount.2
|
2007-11-24 10:49:28 +00:00
|
|
|
|
|
2008-09-01 16:11:14 +00:00
|
|
|
|
|
2007-11-24 13:50:54 +00:00
|
|
|
|
Changes to individual pages
|
|
|
|
|
---------------------------
|
2008-06-05 20:14:50 +00:00
|
|
|
|
|
2008-10-07 07:33:36 +00:00
|
|
|
|
execve.2
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
execve.2: _SC_ARG_MAX is no longer necessarily constant
|
|
|
|
|
|
|
|
|
|
POSIX.1-2001 says that the values returned by sysconf()
|
|
|
|
|
are constant for the life of the process.
|
|
|
|
|
But the fact that, since Linux 2.6.23, ARG_MAX is settable
|
|
|
|
|
via RLIMIT_STACK means _SC_ARG_MAX is no longer constant,
|
|
|
|
|
since it can change at each execve().
|
|
|
|
|
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
execve.2: Linux now imposes a floor on the ARG_MAX limit
|
|
|
|
|
|
|
|
|
|
Starting with Linux 2.6.23, the ARG_MAX limit became settable via
|
|
|
|
|
(1/4 of) RLIMIT_STACK. This broke ABI compatibility if RLIMIT_STACK
|
|
|
|
|
was set such that ARG_MAX was < 32 pages. Document the fact that
|
|
|
|
|
since 2.6.25 Linux imposes a floor on ARG_MAX, so that the old limit
|
|
|
|
|
of 32 pages is guaranteed.
|
|
|
|
|
|
|
|
|
|
For some background on the changes to ARG_MAX in kernels 2.6.23 and
|
|
|
|
|
2.6.25, see:
|
|
|
|
|
http://sourceware.org/bugzilla/show_bug.cgi?id=5786
|
|
|
|
|
http://bugzilla.kernel.org/show_bug.cgi?id=10095
|
|
|
|
|
http://thread.gmane.org/gmane.linux.kernel/646709/focus=648101,
|
|
|
|
|
checked into 2.6.25 as commit a64e715fc74b1a7dcc5944f848acc38b2c4d4ee2.
|
|
|
|
|
|
|
|
|
|
Also some reordering/rewording of the discussion of ARG_MAX.
|
|
|
|
|
|
|
|
|
|
fallocate.2
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
fallocate.2: Note lack of glibc wrapper; caller must use syscall(2)
|
|
|
|
|
|
|
|
|
|
Glibc doesn't (and quite probably won't) include a wrapper for this
|
|
|
|
|
system call. Therefore, point out that potential callers will need
|
|
|
|
|
to use syscall(2), and rewrite the RETURN VALUE text to show things
|
|
|
|
|
as they would be if syscall() is used.
|
|
|
|
|
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
fallocate: Refer reader to posix_fallocate(3) for portable interface
|
|
|
|
|
|
|
|
|
|
Add a para to start of page that points out that this is the
|
|
|
|
|
low-level, Linux-specific API, and point the reader to posix_fallocate(3)
|
|
|
|
|
for the portable API.
|
|
|
|
|
|
|
|
|
|
getdents.2, readdir.3
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
getdents.2, readdir.3: d_type is currently only supported on ext[234]
|
|
|
|
|
|
|
|
|
|
As at kernel 2.6.27, only ext[234] support d_type.
|
|
|
|
|
On other file systems, d_type is always set to DT_UNKNOWN (0).
|
|
|
|
|
|
|
|
|
|
getdents.2
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
getdents.2: Add an example program
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
getdents.2: comment out linux_dirent fields with varying location
|
|
|
|
|
|
|
|
|
|
The location of the fields faster d_name varies according to
|
|
|
|
|
the size of d_name. We can't properly declare them in C;
|
|
|
|
|
therefore, put those fields inside a comment.
|
|
|
|
|
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
getdents.2: The DT_* constants are defined in <dirent.h>
|
|
|
|
|
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
getdents.2: remove header files from SYNOPSIS
|
|
|
|
|
|
|
|
|
|
None of the header files provides what is needed.
|
|
|
|
|
Calls are made via syscall(2).
|
|
|
|
|
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
getdents.2: The programmer must define the linux_dirent structure
|
|
|
|
|
|
|
|
|
|
Point out that this structure is not defined in glibc headers.
|
|
|
|
|
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
getdents.2: s/dirent/linux_dirent/
|
|
|
|
|
|
|
|
|
|
The structure isn't currently defined in glibc headers, and the kernel
|
|
|
|
|
name of the structure is 'linux_dirent' (as was already used in some,
|
|
|
|
|
but not all, places in this page).
|
|
|
|
|
|
|
|
|
|
getrlimit.2
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
getrlimit.2: Reword/relocate discussion of BSD's historical RLIMIT_OFILE
|
|
|
|
|
|
|
|
|
|
The old sentence sat on its own in an odd place, and anyway the
|
|
|
|
|
modern BSDs use the name RLIMIT_NOFILE.
|
|
|
|
|
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
getrlimit.2: refer to execve(2) for RLIMIT_STACK's effect on ARG_MAX
|
|
|
|
|
|
|
|
|
|
Refer the reader to new text in execve(2) that describes how
|
|
|
|
|
(since Linux 2.6.23) RLIMIT_STACK determines the value of ARG_MAX.
|
|
|
|
|
|
|
|
|
|
getrusage.2
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
getrusage.2: rusage measures are preserved across execve(2)
|
|
|
|
|
|
|
|
|
|
mlock.2
|
|
|
|
|
Maxin John
|
|
|
|
|
mlock.2: add EAGAIN error.
|
|
|
|
|
|
|
|
|
|
move_pages.2
|
|
|
|
|
Nicolas Fran<61>ois
|
|
|
|
|
move_pages.2: Make a detail of EPERM error more precise
|
|
|
|
|
|
|
|
|
|
mount.2
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
mount.2: Add description of namespace
|
|
|
|
|
|
|
|
|
|
Describe per-process namespaces, including discussion
|
|
|
|
|
of clone() and unshare CLONE_NEWNS, and /proc/PID/mounts.
|
|
|
|
|
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
mount.2: List a few other file systems that we may see in /proc/filesystems
|
|
|
|
|
|
|
|
|
|
Add some modern file systems to that list (xfs, jfs, ext3, reiserfs).
|
|
|
|
|
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
mount.2: Document MS_SILENT (and MS_VERBOSE)
|
|
|
|
|
|
|
|
|
|
mount.2, umount.2
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
mount.2, umount.2: split umoun*() out into a separate page
|
|
|
|
|
|
|
|
|
|
The length of this page means that it's becoming difficult to parse
|
|
|
|
|
which info is specific to mount() versus umount()/umount2(), so split
|
|
|
|
|
the umount material out into its own page.
|
|
|
|
|
|
|
|
|
|
pause.2
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
pause.2: remove mention of words "library function"
|
|
|
|
|
|
|
|
|
|
This really is a system call.
|
|
|
|
|
|
|
|
|
|
readdir.2
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
readdir.2: The programmer must declare the old_linux_dirent structure
|
|
|
|
|
|
|
|
|
|
Glibc does not provide a definition of this structure.
|
|
|
|
|
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
readdir.2: s/dirent/old_linux_dirent/
|
|
|
|
|
|
|
|
|
|
Nowadays, this is the name of the structure in the kernel sources.
|
|
|
|
|
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
readdir.2: remove words "which may change"
|
|
|
|
|
|
|
|
|
|
These words are slightly bogus: although the interface is obsolete,
|
|
|
|
|
for ABI-compatibility reasons, the kernel folk should never be changing
|
|
|
|
|
this interface.
|
|
|
|
|
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
readdir.2: remove header files from SYNOPSIS
|
|
|
|
|
|
|
|
|
|
glibc doesn't provide any support for readdir(2),
|
|
|
|
|
so remove these header files (which otherwise suggest
|
|
|
|
|
that glibc does provide the required pieces).
|
|
|
|
|
|
|
|
|
|
recv.2
|
|
|
|
|
Nicolas Fran<61>ois
|
|
|
|
|
recv.2: Move kernel version number to first mention to MSG_ERRQUEUE.
|
|
|
|
|
|
|
|
|
|
semop.2
|
|
|
|
|
Kirill A. Shutemov
|
|
|
|
|
semop.2: fix typo in example
|
|
|
|
|
|
|
|
|
|
(The '&' before sop in the semop() call is unneeded.)
|
|
|
|
|
|
|
|
|
|
send.2
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
send.2: make kernel version for MSG_CONFIRM more precise
|
|
|
|
|
|
|
|
|
|
s/2.3+ only/Since Linux 2.3.15/
|
|
|
|
|
|
|
|
|
|
sigaction.2
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
sigaction.2: refer reader to signal(7) for an overview of signals
|
|
|
|
|
sigaction.2: explain semantics of signal disposition during fork() and execve()
|
|
|
|
|
sigaction.2: refer to signal(7) for more details on signal mask.
|
|
|
|
|
|
|
|
|
|
sigaltstack.2
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
sigaltstack.2: explain inheritance of alternate signal stack across fork(2)
|
|
|
|
|
|
|
|
|
|
sigwaitinfo.2
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
sigwaitinfo.2: distinguish per-thread and process-wide signals
|
|
|
|
|
|
|
|
|
|
A sentence clarifying that pending signal set is union of
|
|
|
|
|
per-thread and process-wide pending signal sets.
|
|
|
|
|
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
sigwaitinfo.2: these interfaces have per-thread semantics
|
|
|
|
|
|
|
|
|
|
The page was previously fuzzy about whether the these interfaces
|
|
|
|
|
have process-wide or per-thread semantics. (E.g., now the
|
|
|
|
|
page states that the calling *thread* (not process) is suspended
|
|
|
|
|
until the signal is delivered.)
|
|
|
|
|
|
|
|
|
|
sigpending.2
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
sigpending.2: explain effect of fork() and execve() for pending signal set
|
|
|
|
|
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
sigpending.2: explain how thread's pending signal set is defined
|
|
|
|
|
|
|
|
|
|
The pending set is the union of per-thread pending signals and process-wide
|
|
|
|
|
pending signals.
|
|
|
|
|
|
|
|
|
|
sigprocmask.2
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
sigprocmask.2: explain effects of fork() and execve() for signal mask
|
|
|
|
|
|
|
|
|
|
splice.2
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
splice.2: note that SPLICE_F_MOVE is a no-op since kernel 2.6.21
|
|
|
|
|
|
|
|
|
|
syscall.2
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
syscall.2: Add more detail about wrapper functions
|
|
|
|
|
|
2008-09-24 14:10:00 +00:00
|
|
|
|
Add a few more details about work generally done by wrapper
|
|
|
|
|
functions. Note that syscall(2) performs the same steps.
|
2008-10-07 07:33:36 +00:00
|
|
|
|
|
|
|
|
|
tkill.2
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
tkill.2: EINVAL error can also occur for invalid TGID
|
|
|
|
|
|
|
|
|
|
The EINVAL error on an invalid TGID for tgkill() was
|
|
|
|
|
not documented; this change documents it.
|
|
|
|
|
|
|
|
|
|
utimensat.2
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
utimensat.2: POSIX.1-2008 revision will likely affect FTMs for futimens()
|
|
|
|
|
|
|
|
|
|
Make it clear that the POSIX.1 revision that is likely
|
|
|
|
|
to affect the feature test macro requirements for futimens() is
|
|
|
|
|
POSIX.1-2008.
|
|
|
|
|
|
|
|
|
|
Nicolas Fran<61>ois
|
|
|
|
|
utimensat.2: Make various wordings a little more precise.
|
|
|
|
|
|
|
|
|
|
The times argument point to *an array of* structures, and the
|
|
|
|
|
man-page should say that consistently.
|
|
|
|
|
|
|
|
|
|
wait4.2
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
wait4.2: wait3() is a library function layered on wait4().
|
|
|
|
|
|
|
|
|
|
On Linux wait3() is a library function implemented on top of wait4().
|
|
|
|
|
(Knowing this is useful when using strace(2), for example.)
|
|
|
|
|
|
|
|
|
|
atan2.3
|
|
|
|
|
Nicolas Fran<61>ois
|
|
|
|
|
atan2.3: Fix error in description of range or return value
|
|
|
|
|
|
|
|
|
|
In recent changes to the man page, mtk accidentally changed
|
|
|
|
|
the description of the return value range to -pi/2..pi/2;
|
|
|
|
|
the correct range is -pi..pi.
|
|
|
|
|
|
|
|
|
|
cmsg.3
|
|
|
|
|
Nicolas Fran<61>ois
|
|
|
|
|
cmsg.3: Add parentheses after macro names.
|
|
|
|
|
|
|
|
|
|
ctime.3
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
ctime.3: clarify mktime()'s use of tm_isdst
|
|
|
|
|
|
|
|
|
|
Describe use of tm_isdst for input to mktime();
|
|
|
|
|
explain how mktime() modifies this field.
|
|
|
|
|
(This field is left unchanged in case of error.)
|
|
|
|
|
|
|
|
|
|
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=500178
|
|
|
|
|
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
Clarify wording for ctime_r() and asctime_r() to indicate that
|
|
|
|
|
the buffer must be at least 26 *bytes*.
|
|
|
|
|
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
ctime.3: minor rewording of mktime() description.
|
|
|
|
|
|
|
|
|
|
floor.3
|
|
|
|
|
Nicolas Fran<61>ois
|
|
|
|
|
floor.3: Fix error in description: s/smallest/largest/
|
|
|
|
|
|
|
|
|
|
hsearch.3
|
|
|
|
|
Andr<64> Goddard Rosa
|
|
|
|
|
hsearch.3: Call hdestroy() after using hash table created by hcreate(), for the sake of completeness
|
|
|
|
|
|
|
|
|
|
mg_getattr.3
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
mg_getattr.3: mq_getattr() and mq_setattr() are layered on mq_getsetattr(2)
|
|
|
|
|
|
|
|
|
|
mq_getattr() and mq_setattr() are library functions layered on
|
|
|
|
|
top of the mq_getsetattr(2) system call.
|
|
|
|
|
(This is useful info for users of strace(1).)
|
|
|
|
|
|
|
|
|
|
mq_receive.3
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
mq_receive.3: mq_send() is a library function layered on mq_timedreceive() syscall
|
|
|
|
|
|
|
|
|
|
This info is useful for users of strace(1).
|
|
|
|
|
|
|
|
|
|
mq_send.3
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
mq_send.3: mq_send() is a library function layered on mq_timedsend() syscall
|
|
|
|
|
|
|
|
|
|
This info is useful for users of strace(1).
|
|
|
|
|
|
|
|
|
|
nextafter.3
|
|
|
|
|
Nicolas Fran<61>ois
|
|
|
|
|
nextafter.3: Make description more precise: s/next/largest/
|
|
|
|
|
|
|
|
|
|
readdir.3
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
readdir.3: SEE ALSO: add getdents(2)
|
|
|
|
|
|
|
|
|
|
Because readdir() is implemented on top of getdents(2).
|
|
|
|
|
|
|
|
|
|
realpath.3
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
realpath.3: clarify that returned pathname is NULL terminated
|
|
|
|
|
|
|
|
|
|
Also clarify that null-byte is included in PATH_MAX limit.
|
|
|
|
|
|
|
|
|
|
proc.5
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
proc.5: rewrite and simplify description of /proc/mounts
|
|
|
|
|
|
|
|
|
|
Most of the relevant discussion is now under /proc/PID/mounts;
|
|
|
|
|
all that needs to be here is a mention of the pre-2.4.19
|
|
|
|
|
system-wide namespace situation, and a reference to the
|
|
|
|
|
discussion under /proc/PID/mounts.
|
|
|
|
|
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
proc.5: Add description of /proc/PID/mounts
|
|
|
|
|
|
|
|
|
|
Largely cribbed from existing /proc/mounts discussion, which is
|
|
|
|
|
about to be rewritten.
|
|
|
|
|
|
|
|
|
|
mq_overview.7
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
mq_overview.7: add mq_notify() to list of lib. functions and syscalls in MQ API
|
|
|
|
|
|
|
|
|
|
signal.7
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
signal.7: improve description in NAME section
|
|
|
|
|
signal.7: Add mention of sigaltstack(2).
|
|
|
|
|
signal.7: Describe syscalls that synchronously wait for a signal,
|
|
|
|
|
signal.7: Give overview of syscalls that block until a signal is caught
|
|
|
|
|
signal.7: Add overview of interfaces for sending signals.
|
|
|
|
|
|
|
|
|
|
Michael Kerrisk
|
|
|
|
|
signal.7: describe semantics w.r.t. fork() and execve()
|
|
|
|
|
|
|
|
|
|
Include text describing semantics of fork() and execve() for
|
|
|
|
|
signal dispositions, signal mask, and pending signal set.
|