==================== Changes in man-pages-3.70 ==================== Released: 2014-07-08, Munich Contributors ------------ The following people contributed patches/fixes or (noted in brackets in the changelog below) reports, notes, and ideas that have been incorporated in changes in this release: Carlos O'Donell Elie De Brauwer Florian Weimer Heinrich Schuchardt Marko Myllynen Michael Kerrisk Nadav Har'El NeilBrown Rich Felker Robert P. J. Day Simon Paillard Tomi Salminen Walter Harms Yuri Kozlov Кирилл Apologies if I missed anyone! New and rewritten pages ----------------------- sprof.1 Michael Kerrisk [Marko Myllynen] New page for the glibc sprof(1) command Newly documented interfaces in existing pages --------------------------------------------- epoll_ctl.2 NeilBrown Document EPOLLWAKEUP epoll.7 NeilBrown Document EPOLLWAKEUP Changes to individual pages --------------------------- iconv.1 iconvconfig.8 Marko Myllynen Clarify gconv file terminology a bit ldd.1 Michael Kerrisk SEE ALSO: add sprof(1) connect.2 Michael Kerrisk ERRORS: add EPROTOTYPE See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=708394 dup.2 Michael Kerrisk [Rich Felker] Fix erroneous discussion regarding closing 'newfd' before calling dup2() And propose a workaround if the caller cares about catching close() time errors. See http://stackoverflow.com/questions/23440216/race-condition-when-using-dup2#comment36888604_23444465 and http://austingroupbugs.net/view.php?id=411 Michael Kerrisk Rework and enhance discussion of dup2() In particular, note that dup2() performs the steps of closing and reusing 'newfd' atomically. Michael Kerrisk Add subhead for dup3() epoll_ctl.2 Michael Kerrisk BUGS: EPOLLWAKEUP is silently ignored without CAP_BLOCK_SUSPEND If the caller does not have CAP_BLOCK_SUSPEND, then EPOLLWAKEUP is silently ignored. fcntl.2 Michael Kerrisk [Tomi Salminen] The return value for F_SETPIPE_SZ is the pipe capacity Michael Kerrisk ERRORS: Document ENOTDIR error for F_NOTIFY Michael Kerrisk Use proper page cross-references in F_NOTIFY discussion Michael Kerrisk Suggest the use of real-time signals with F_NOTIFY getitimer.2 Michael Kerrisk Rewrite a few pieces to clarify some details inotify_add_watch.2 Michael Kerrisk Clarify that the target of a watch is an i-node The target of a watch is an i-node, not a pathname. Clarify the text to prevent the reader possibly misunderstanding that establishing watches by two different links to the same file might create different watch descriptors. open.2 Michael Kerrisk [Кирилл] O_CLOEXEC is also one the flags not ignored when O_PATH is specified pipe.2 Elie De Brauwer PIPE_BUF is defined in limits.h To make use of PIPE_BUF in an application one should include . Adding a reference to this inclusion. poll.2 Michael Kerrisk [Nadav Har'El] The negate-fd-to-ignore technique does not work for file descriptor 0 See https://bugzilla.kernel.org/show_bug.cgi?id=79411 set_tid_address.2 Michael Kerrisk [Rich Felker] Use "thread" rather than "process" in DESCRIPTION Michael Kerrisk SEE ALSO: add gettid(2) shmop.2 Michael Kerrisk Explain SHMLBA in much more detail splice.2 Michael Kerrisk Document EAGAIN error See https://bugzilla.kernel.org/show_bug.cgi?id=48641 syscalls.2 Carlos O'Donell Add prlimit64(2) While trying to reconcile the new features in glibc with the documented entries in the linux kernel man pages I noticed that glibc exports prlimit64 for use by 32-bit applications (as does the linux kernel), but that prlimit64 was not defined in the syscalls list or in the prlimit-related page. This is not the complete fix for this, but I don't have the time to explain why and when prlimit64 should be used (or how it should be used safely). Therefore I'm just patching the syscalls.2 list to show that prlimit64 exists and was added in 2.6.36 (verified with git by checking out the tags before and after). Unless you've purposely excluded prlimit64 to avoid telling users about it because it's complicated, please apply. syslog.2 Michael Kerrisk Rework introductory paragraph Michael Kerrisk [Robert P. J. Day] Rework text describing loglevels The kernel header file mentioned in the discussion of the KERN_* constants has morphed and is no longer exported inside glibc. And the definitions of the constants themselves changed subtly with kernel commit 04d2c8c83d0e3ac5f78aeede51babb3236200112. So, rewrite the description of the constants to be a bit more abstract. Michael Kerrisk Rewrite parts of the page, and import /proc/sys/kernel/printk * Move /proc/sys/kernel/printk from proc(5) to this page, and correct various details in the discussion of that file. * Rewrite and correct various other details on the page. * Clean out some crufty text. * Miscellaneous minor fixes. Michael Kerrisk Update SYSLOG_ACTION_CONSOLE_OFF + SYSLOG_ACTION_CONSOLE_ON description Details changed in Linux 2.6.32 tee.2 Michael Kerrisk Document EAGAIN error See https://bugzilla.kernel.org/show_bug.cgi?id=48641 vmsplice.2 Michael Kerrisk Document EAGAIN error See https://bugzilla.kernel.org/show_bug.cgi?id=48641 ether_aton.3 Michael Kerrisk Make description of ether_line() bug a little more informative mallopt.3 Michael Kerrisk [Florian Weimer] MALLOC_MMAP_THRESHOLD_ and MALLOC_MMAP_MAX_ *do* work in setgid programs My testing on this point was bogus, overlooking details of strace(1)'s behavior with setuid programs. See https://sourceware.org/bugzilla/show_bug.cgi?id=12155 printf.3 Michael Kerrisk [Rich Felker] Remove libc4 and libc5 details Rich Felker noted that "scare text" in the man page warned about the use of snprintf() on libc, and that some people had cited this as a reason not to use snprintf(). Linux libc is now ancient history, so there is no real need to keep that text. But, while we're at it, we may as well clear out all of the other ancient libc4 and libc5 pieces in the page. They are nowadays more clutter than help. Michael Kerrisk SUSv3 and later agree with C99 for the snprintf() return value Determined by inspection of the SUSv3 and SUSv4 specifications. Michael Kerrisk Remove some old text about glibc 2.0 changes We probably don't now need such ancient info. Michael Kerrisk Update references to standards for C and S conversion specifiers profil.3 Michael Kerrisk SEE ALSO: add sprof(1) charmap.5 Marko Myllynen Various minor updates and improvements - more precise title - extend description a bit - document previously omitted WIDTH_DEFAULT Marko Myllynen Remove accidental ISO C compliance reference glibc refers in locale/programs/charmap.c to ISO C 99 section 7.17.(2) and ISO C 99 section 5.2.1.(3) that if a character map is not ASCII compatible then the locale using it is not ISO C compliant. This does not state anything about the character set itself. proc.5 Michael Kerrisk Replace /proc/sys/kernel/printk discussion with reference to syslog(2) It makes more sense to have the /proc/sys/kernel/printk with the related material in syslog(2). Michael Kerrisk Rewrite /proc/sys/kernel/printk description inotify.7 Michael Kerrisk Clarify with events are generated for watched directories Really, with respect to watched directories, events fall into three classes (not two, as was shown): * Events that can be generated only for the watched directory. * Events that can be generated only for objects that are inside the watched directory. * Events that can be generated both for the watched directory and for objects inside the directory. So, mark these three classes more clearly in the list of inotify events. Heinrich Schuchardt [Michael Kerrisk] BUGS: Note possible bug triggered by watch descriptor reuse Watch descriptor IDs are returned by inotify_add_watch(). When calling inotify_rm_watch() an IN_IGNORE is placed on the inotify queue pointing to the ID of the removed watch. inotify_add_watchi() should not return a watch descriptor ID for which events are still on the queue but should return an unused ID. Unfortunately, the existing Kernel code does not provide such a guarantee. Actually, in rare cases watch descriptor IDs are returned by inotify_add_watch() for which events are still on the inotify queue. See https://bugzilla.kernel.org/show_bug.cgi?id=77111 Michael Kerrisk Add further detail to the watch descriptor reuse bug As well as inotify_rm_watch(), file deletion and unmounting a filesystem can also cause a watch descriptor to be deleted. Michael Kerrisk The watch descriptor reuse bug may be hard to hit in practice Explain the circumstances in detail, indicating that the bug may be very unlikely to occur in practice. Michael Kerrisk Clarify description of IN_EXCL_UNLINK Clarify the text a little, in particular making it clearer that the target of a watch is an i-node (not a pathname). Michael Kerrisk Clarify IN_ONESHOT explanation Make it clearer that the target of monitoring is an i-node, not a pathname. Michael Kerrisk Make comment on 'mask' field more accurate libc.7 Michael Kerrisk Clarify man-pages policy on documenting C libraries other tahn glibc Michael Kerrisk Use absolute dates in discussion of libc vs glibc pipe.7 Elie De Brauwer Add reference that the pipe capacity can be changed In fcntl(2) F_SETPIPE_SZ, F_GETPIPE_SZ and /proc/sys/fs/pipe-max-size are defined, however pipe(7) still defines the pipe capacity as being a static entity. Adding a reference to fcntl(2). Michael Kerrisk [Walter Harms] Clarify that since 2.6.35, 65535 bytes is the default pipe capacity ld.so.8 Michael Kerrisk Clarify that LD_PROFILE can specify just a single shared object Michael Kerrisk Clarify that LD_PROFILE output is appended to target file The LD_PROFILE output is appended to any existing contents of the target file. Michael Kerrisk SEE ALSO: add sprof(1)