Commit Graph

259 Commits

Author SHA1 Message Date
Michael Kerrisk 6799ba26c9 fcntl.2: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2014-06-09 21:33:48 +02:00
Michael Kerrisk 9acee57885 fcntl.2: Rewrite introductory paragraphs on mandatory locking
Make the structure more logical, and also explicitly mention
OFD locks.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2014-06-09 21:33:48 +02:00
Michael Kerrisk 4b5c506a2c fcntl.2: Add EINVAL error for OFD locks where 'l_pid' is not 0
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2014-06-09 21:33:48 +02:00
Michael Kerrisk c11b47b3b1 fcntl.2: CONFORMING TO: note that OFD locks are Linux-specific
But they make their way into the next POSIX release

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2014-06-09 21:33:48 +02:00
Michael Kerrisk 97e03523e5 fcntl.2: Describe semantics for compatible and conflicting OFD locks
And describe how threads can use OFD locks to ensure
exclusive access to a file.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2014-06-09 21:33:48 +02:00
Michael Kerrisk 1a93af040c fcntl.2: Detail the limitations of traditional (process-associated) locks
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2014-06-09 21:33:48 +02:00
Michael Kerrisk bfb147160f fcntl.2: Minor fixes to introductory par on OFD locks
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2014-06-09 21:33:48 +02:00
Michael Kerrisk 38702b6ccc fcntl.2: OFD locks are Linux-specific and available since Linux 3.15
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2014-06-09 21:33:48 +02:00
Michael Kerrisk 99b5ab7933 fcntl.2: Tweaks and rewrites of pieces of Jeff Layton's patch
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2014-06-09 21:33:48 +02:00
Jeff Layton 2d3e4b83a3 fcntl.2: Document open file description locks
As provided by the fcntl() operations F_OFD_SETLK,
F_OFD_SETLKW, and F_OFD_GETLK

Signed-off-by: Jeff Layton <jlayton@poochiereds.net>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2014-06-09 21:33:48 +02:00
Michael Kerrisk 7562b10e23 fcntl.2: Add para introducing advisory locks and noting existence of OFD locks
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2014-06-09 21:33:48 +02:00
Michael Kerrisk 86fbd8d849 fcntl.2: Minor change: move some NOTES text on record locking
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2014-06-09 21:33:48 +02:00
Michael Kerrisk 15b4459067 fcntl.2: wfix + ffix: fine-tuning on NFSv4 client locking text
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2014-06-09 21:33:48 +02:00
Michael Kerrisk 70fd304581 fcntl.2: Add NOTES subhead for record locking and NFS
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2014-06-09 21:33:48 +02:00
Michael Kerrisk da0d60febb fcntl.2: nfsv4leasetime controls the "contact lost" interval for NFSv4
Jeff Layton:
   The difference here is subtle. The gracetime is how long after a reboot
   should knfsd allow clients to reclaim state (and deny the creation of
   new locks and opens). The leasetime is how long the NFSv4 lease period
   is. There is a relationship between the two that's illustrated in the
   comments above write_gracetime:

     /**
      * write_gracetime - Set or report current NFSv4 grace period time
      *
      * As above, but sets the time of the NFSv4 grace period.
      *
      * Note this should never be set to less than the *previous*
      * lease-period time, but we don't try to enforce this.  (In the common
      * case (a new boot), we don't know what the previous lease time was
      * anyway.)
      */

   The value you're interested in here is the nfsv4leasetime. If the
   client doesn't renew its lease within that period, then it's subject to
   the server giving up on it and dropping any state that it holds on that
   clients' behalf.

   Note that this is not a firm timeout. The server runs a job
   periodically to clean out expired stateful objects, and it's likely
   that there is some time (maybe even up to another whole lease period)
   between when the timeout expires and the job actually runs. If the
   client gets a RENEW in there within that window, its lease will be
   renewed and its state preserved.

Reported-by: Jeff Layton <jlayton@poochiereds.net>
Cowritten-by: Jeff Layton <jlayton@poochiereds.net>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2014-06-09 21:33:48 +02:00
Michael Kerrisk af8713605a fcntl.2: Refine discussion of locks when NFSv4 client loses contact with server
Reported-by: NeilBrown <neilb@suse.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2014-06-09 21:33:48 +02:00
Michael Kerrisk 6ca357f965 fcntl.2: Note treatment of locks when an NFS client loses contact with the server
Based on text sent by Neil Brown.

Reported-by: NeilBrown <neilb@suse.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2014-06-09 21:33:48 +02:00
Michael Kerrisk 9584daf7f3 fcntl.2: Minor rewording
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2014-06-09 21:33:48 +02:00
Michael Kerrisk cf118c620f fcntl.2: srcfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2014-06-09 21:33:47 +02:00
Michael Kerrisk 91ac17b2c7 fcntl.2: Reword discussion of mandatory lock bug a litte
Jeff Layton confirmed that the bug remains even in modern kernels.

Reviewed-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2014-06-09 21:33:47 +02:00
Michael Kerrisk 3d15531307 chown.2, fcntl.2, futex.2, recvmmsg.2, sched_setscheduler.2, semget.2, shmget.2, malloc.3, pthread_attr_setinheritsched.3, pthread_attr_setschedparam.3, pthread_attr_setschedpolicy.3, pthread_setaffinity_np.3, strcpy.3, capabilities.7, cpuset.7, credentials.7, pthreads.7: tstamp
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2014-05-21 13:15:30 +02:00
Michael Kerrisk 381eddf1bc fcntl.2: Add "file locking" subheading under NOTES
(No actual changes to the text.)

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2014-05-15 08:55:20 +02:00
Michael Kerrisk 2f4772d2d2 fcntl.2: Note the race when O_CLOEXEC is used at same time as fork()+execve()
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2014-04-20 10:46:40 +02:00
Michael Kerrisk 621ab85e80 fcntl.2: grfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2014-03-26 07:33:15 +01:00
Michael Kerrisk 14e9f7cf4b fcntl.2, strtol.3, strtoul.3, socket.7: ffix in feature test macro names
Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2014-03-18 20:17:50 +01:00
Michael Kerrisk 7e2cb38315 fcntl.2: spfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2014-03-16 11:36:57 +01:00
Michael Kerrisk eceaee4705 fcntl.2: Warn that F_GETLK info may already be out of date when the call returns
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2014-02-20 08:34:28 +01:00
Michael Kerrisk dc45cae328 fcntl.2: Minor fix: reorder constants to match order of accompanying text
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2014-02-20 08:32:14 +01:00
Michael Kerrisk 7a9d6ddece Removed trailing white space at end of lines 2014-02-11 12:17:35 +01:00
Michael Kerrisk a797afac4e fcntl.2, msgget.2, ptrace.2, request_key.2, shmget.2, sigaction.2, syscalls.2, dbopen.3, euidaccess.3, getgrnam.3, getpwnam.3, strfmon.3, strtol.3, strtoul.3, cciss.4, hpsa.4, mouse.4, termcap.5, charsets.7, iso_8859-16.7, iso_8859-2.7, koi8-r.7, unicode.7, utf-8.7: Use Oxford comma
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2014-02-05 16:09:11 +01:00
Michael Kerrisk 93265f420c fcntl.2: POSIX.1 specifies F_SETOWN and F_GETOWN for sockets/SIGURG
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2014-01-22 04:46:48 +01:00
Michael Kerrisk 639b33d7b8 fcntl.2: BUGS: The O_SYNC and O_DSYNC flags are not modifiable using F_SETFL
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2014-01-22 04:28:21 +01:00
Michael Kerrisk 7168d2f88b fcntl.2: Add susbsections under BUGS
There's several bugs listed. It's helpful to mark
them separately.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2014-01-21 08:44:44 +01:00
Michael Kerrisk 9ee4a2b6ec intro.1, time.1, access.2, acct.2, alloc_hugepages.2, bind.2, chdir.2, chmod.2, chown.2, chroot.2, clone.2, close.2, execve.2, fallocate.2, fcntl.2, getdents.2, getrusage.2, getxattr.2, init_module.2, inotify_add_watch.2, ioprio_set.2, kcmp.2, link.2, listxattr.2, lseek.2, madvise.2, mkdir.2, mknod.2, mmap.2, mount.2, move_pages.2, msgctl.2, nfsservctl.2, open.2, pivot_root.2, quotactl.2, read.2, readlink.2, removexattr.2, rename.2, rmdir.2, semctl.2, setfsgid.2, setfsuid.2, setresuid.2, setuid.2, setup.2, setxattr.2, shmctl.2, splice.2, spu_create.2, stat.2, statfs.2, swapon.2, symlink.2, sync.2, sync_file_range.2, sysfs.2, truncate.2, umount.2, unlink.2, unshare.2, ustat.2, utime.2, utimensat.2, write.2, btree.3, errno.3, fexecve.3, ftw.3, futimes.3, get_nprocs_conf.3, getcwd.3, getdirentries.3, getmntent.3, glob.3, mkfifo.3, mq_open.3, readdir.3, realpath.3, recno.3, remove.3, sem_open.3, shm_open.3, statvfs.3, sysconf.3, telldir.3, tmpfile.3, cciss.4, initrd.4, pts.4, sk98lin.4, vcs.4, core.5, filesystems.5, proc.5, boot.7, bootparam.7, capabilities.7, cpuset.7, credentials.7, feature_test_macros.7, fifo.7, hier.7, inotify.7, intro.7, mq_overview.7, path_resolution.7, pipe.7, sem_overview.7, shm_overview.7, spufs.7, symlink.7, unix.7, uri.7, sync.8: Global fix: s/file system/filesystem/
Notwithstanding 24d01c530c,
"filesystem" is the form used by the great majority of man pages
outside the man-pages project and in a number of other sources,
so let's go with that.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-08-08 10:07:57 +02:00
Michael Kerrisk 95dadb392f fcntl.2: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-08-01 11:52:12 +02:00
Michael Kerrisk 33a0ccb293 intro.1, _syscall.2, access.2, arch_prctl.2, cacheflush.2, chown.2, clock_getres.2, clone.2, create_module.2, fcntl.2, flock.2, get_kernel_syms.2, get_robust_list.2, get_thread_area.2, getcpu.2, getpriority.2, getrlimit.2, getrusage.2, ioprio_set.2, kexec_load.2, madvise.2, mbind.2, migrate_pages.2, mknod.2, mmap.2, mount.2, move_pages.2, mprotect.2, open.2, pause.2, pciconfig_read.2, perf_event_open.2, prctl.2, ptrace.2, query_module.2, read.2, reboot.2, recv.2, s390_runtime_instr.2, sched_setscheduler.2, select_tut.2, send.2, set_mempolicy.2, setfsgid.2, setfsuid.2, sigaction.2, spu_create.2, spu_run.2, stime.2, swapon.2, syslog.2, timer_create.2, timer_getoverrun.2, times.2, tkill.2, umount.2, unimplemented.2, ustat.2, vm86.2, wait.2, abs.3, aio_read.3, aio_write.3, bsd_signal.3, catgets.3, clearenv.3, cmsg.3, dbopen.3, dirfd.3, dlopen.3, exec.3, fenv.3, ferror.3, fmemopen.3, fnmatch.3, fopen.3, futimes.3, getaddrinfo.3, getifaddrs.3, getipnodebyname.3, hsearch.3, if_nameindex.3, inet_pton.3, mblen.3, mbrlen.3, mbsrtowcs.3, mbtowc.3, mcheck.3, memfrob.3, mq_notify.3, netlink.3, posix_memalign.3, printf.3, pthread_attr_setscope.3, pthread_cleanup_push.3, pthread_kill_other_threads_np.3, pthread_self.3, pthread_setcancelstate.3, pthread_setconcurrency.3, raise.3, resolver.3, rpc.3, rtime.3, rtnetlink.3, scanf.3, setbuf.3, setnetgrent.3, shm_open.3, sigpause.3, sigset.3, sigwait.3, sockatmark.3, strcasecmp.3, strcmp.3, strdup.3, strftime.3, strptime.3, strsignal.3, strverscmp.3, sysv_signal.3, termios.3, wcrtomb.3, wcsnlen.3, wcsnrtombs.3, wcsrtombs.3, wctomb.3, wprintf.3, console_codes.4, cpuid.4, msr.4, rtc.4, sk98lin.4, st.4, tty.4, charmap.5, core.5, elf.5, hosts.equiv.5, proc.5, resolv.conf.5, services.5, slabinfo.5, arp.7, bootparam.7, capabilities.7, charsets.7, cpuset.7, ddp.7, epoll.7, feature_test_macros.7, futex.7, hier.7, icmp.7, inotify.7, ip.7, ipv6.7, man-pages.7, mdoc.7, mdoc.samples.7, netdevice.7, netlink.7, numa.7, packet.7, path_resolution.7, posixoptions.7, pthreads.7, raw.7, rtld-audit.7, rtnetlink.7, sem_overview.7, sigevent.7, socket.7, spufs.7, tcp.7, udp.7, unicode.7, uri.7, utf-8.7, intro.8, ldconfig.8, sync.8: Global fix: fix placement of word "only"
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-04-01 14:53:46 +02:00
Michael Kerrisk 930152530c intro.1, _exit.2, access.2, alarm.2, alloc_hugepages.2, arch_prctl.2, bind.2, chdir.2, chmod.2, chown.2, chroot.2, clock_getres.2, clock_nanosleep.2, close.2, connect.2, delete_module.2, dup.2, execve.2, exit_group.2, faccessat.2, fchmodat.2, fchownat.2, fcntl.2, fork.2, fstatat.2, fsync.2, futimesat.2, get_robust_list.2, getdents.2, getdomainname.2, getgid.2, getgroups.2, gethostname.2, getpagesize.2, getpid.2, getresuid.2, getrlimit.2, getrusage.2, gettid.2, gettimeofday.2, getuid.2, getunwind.2, idle.2, init_module.2, intro.2, iopl.2, kcmp.2, kexec_load.2, kill.2, link.2, linkat.2, llseek.2, lookup_dcookie.2, madvise.2, mincore.2, mkdirat.2, mknodat.2, mmap.2, mmap2.2, mount.2, mprotect.2, mq_getsetattr.2, msgctl.2, msgget.2, msgop.2, msync.2, nice.2, open.2, openat.2, pause.2, perfmonctl.2, personality.2, pipe.2, poll.2, posix_fadvise.2, prctl.2, pread.2, process_vm_readv.2, quotactl.2, read.2, readahead.2, readdir.2, readlinkat.2, readv.2, reboot.2, recvmmsg.2, remap_file_pages.2, rename.2, renameat.2, rmdir.2, rt_sigqueueinfo.2, select.2, select_tut.2, semctl.2, semget.2, semop.2, sendmmsg.2, set_tid_address.2, seteuid.2, setfsgid.2, setfsuid.2, setgid.2, setresuid.2, setuid.2, setup.2, sgetmask.2, shmctl.2, shmget.2, shmop.2, sigaction.2, sigaltstack.2, signal.2, sigpending.2, sigprocmask.2, sigreturn.2, sigsuspend.2, sigwaitinfo.2, splice.2, stat.2, statfs.2, stime.2, subpage_prot.2, swapon.2, symlink.2, symlinkat.2, sync.2, sync_file_range.2, syscalls.2, sysctl.2, sysfs.2, syslog.2, tee.2, time.2, timer_create.2, timer_delete.2, timer_getoverrun.2, timer_settime.2, times.2, tkill.2, umask.2, umount.2, uname.2, unlink.2, unlinkat.2, uselib.2, ustat.2, utime.2, utimensat.2, vfork.2, vhangup.2, vm86.2, vmsplice.2, wait.2, wait4.2, write.2, CPU_SET.3, INFINITY.3, abort.3, abs.3, acos.3, acosh.3, adjtime.3, aio_init.3, asin.3, asinh.3, asprintf.3, assert.3, assert_perror.3, atan.3, atan2.3, atanh.3, atexit.3, atof.3, atoi.3, basename.3, bcmp.3, bcopy.3, bindresvport.3, bsd_signal.3, bsearch.3, bstring.3, byteorder.3, bzero.3, catgets.3, catopen.3, cbrt.3, ceil.3, clearenv.3, clock.3, clock_getcpuclockid.3, closedir.3, confstr.3, copysign.3, cos.3, cosh.3, ctermid.3, ctime.3, difftime.3, dirfd.3, div.3, dl_iterate_phdr.3, dprintf.3, drand48.3, drand48_r.3, dysize.3, ecvt.3, ecvt_r.3, end.3, endian.3, erf.3, erfc.3, ether_aton.3, euidaccess.3, exit.3, exp.3, exp10.3, exp2.3, expm1.3, fabs.3, fcloseall.3, fexecve.3, ffs.3, fgetgrent.3, fgetpwent.3, finite.3, flockfile.3, floor.3, fmod.3, fnmatch.3, fopencookie.3, fpathconf.3, fpurge.3, frexp.3, fseeko.3, ftok.3, futimes.3, gcvt.3, get_nprocs_conf.3, getaddrinfo.3, getaddrinfo_a.3, getauxval.3, getcontext.3, getcwd.3, getdate.3, getdirentries.3, getdtablesize.3, getenv.3, getfsent.3, getgrent.3, getgrnam.3, getgrouplist.3, gethostbyname.3, gethostid.3, getifaddrs.3, getipnodebyname.3, getline.3, getlogin.3, getmntent.3, getnetent.3, getnetent_r.3, getopt.3, getprotoent.3, getprotoent_r.3, getpw.3, getpwent.3, getpwnam.3, getrpcent_r.3, gets.3, getservent.3, getservent_r.3, getumask.3, getusershell.3, getutmp.3, getw.3, glob.3, gnu_get_libc_version.3, gsignal.3, hypot.3, if_nameindex.3, if_nametoindex.3, ilogb.3, index.3, inet.3, inet_ntop.3, inet_pton.3, infnan.3, initgroups.3, insque.3, intro.3, isalpha.3, isatty.3, j0.3, ldexp.3, localeconv.3, log.3, log10.3, log1p.3, log2.3, logb.3, lrint.3, lround.3, lsearch.3, lseek64.3, makecontext.3, makedev.3, mallinfo.3, malloc.3, malloc_get_state.3, malloc_info.3, malloc_stats.3, malloc_trim.3, malloc_usable_size.3, mallopt.3, matherr.3, mcheck.3, memccpy.3, memchr.3, memcmp.3, memcpy.3, memfrob.3, memmem.3, memmove.3, memset.3, mkdtemp.3, mkfifo.3, mkfifoat.3, mkstemp.3, mktemp.3, modf.3, mq_close.3, mq_getattr.3, mq_notify.3, mq_open.3, mq_receive.3, mq_send.3, mq_unlink.3, mtrace.3, on_exit.3, opendir.3, posix_fallocate.3, posix_memalign.3, posix_openpt.3, pow.3, pow10.3, profil.3, psignal.3, pthread_attr_init.3, pthread_attr_setaffinity_np.3, pthread_attr_setdetachstate.3, pthread_attr_setguardsize.3, pthread_attr_setinheritsched.3, pthread_attr_setschedparam.3, pthread_attr_setschedpolicy.3, pthread_attr_setscope.3, pthread_attr_setstack.3, pthread_attr_setstackaddr.3, pthread_attr_setstacksize.3, pthread_cancel.3, pthread_cleanup_push.3, pthread_cleanup_push_defer_np.3, pthread_create.3, pthread_detach.3, pthread_equal.3, pthread_exit.3, pthread_getattr_np.3, pthread_getcpuclockid.3, pthread_join.3, pthread_kill.3, pthread_kill_other_threads_np.3, pthread_self.3, pthread_setaffinity_np.3, pthread_setcancelstate.3, pthread_setconcurrency.3, pthread_setname_np.3, pthread_setschedparam.3, pthread_setschedprio.3, pthread_sigmask.3, pthread_sigqueue.3, pthread_testcancel.3, pthread_tryjoin_np.3, pthread_yield.3, putenv.3, putpwent.3, puts.3, qecvt.3, qsort.3, raise.3, rand.3, random.3, random_r.3, re_comp.3, readdir.3, realpath.3, regex.3, remainder.3, remove.3, resolver.3, rewinddir.3, rint.3, round.3, scalb.3, scalbln.3, scandir.3, sched_getcpu.3, seekdir.3, sem_close.3, sem_destroy.3, sem_getvalue.3, sem_init.3, sem_open.3, sem_post.3, sem_unlink.3, sem_wait.3, setenv.3, setlocale.3, setlogmask.3, shm_open.3, siginterrupt.3, sigpause.3, sigqueue.3, sigset.3, sigsetops.3, sigvec.3, sigwait.3, sin.3, sinh.3, sleep.3, sockatmark.3, sqrt.3, statvfs.3, stdio_ext.3, stpcpy.3, strcasecmp.3, strcat.3, strchr.3, strcmp.3, strcoll.3, strcpy.3, strdup.3, strerror.3, strfry.3, strftime.3, string.3, strlen.3, strpbrk.3, strptime.3, strsep.3, strsignal.3, strspn.3, strstr.3, strtok.3, strtol.3, strtoul.3, strverscmp.3, strxfrm.3, swab.3, sysconf.3, syslog.3, system.3, sysv_signal.3, tan.3, tanh.3, tcgetpgrp.3, tcgetsid.3, telldir.3, tempnam.3, timegm.3, timeradd.3, tmpfile.3, tmpnam.3, toascii.3, toupper.3, trunc.3, tsearch.3, ttyslot.3, tzset.3, ulimit.3, undocumented.3, unlocked_stdio.3, usleep.3, y0.3, cpuid.4, full.4, initrd.4, mouse.4, msr.4, sd.4, st.4, acct.5, core.5, services.5, slabinfo.5, aio.7, capabilities.7, credentials.7, feature_test_macros.7, hier.7, inotify.7, libc.7, locale.7, man-pages.7, man.7, math_error.7, mq_overview.7, numa.7, path_resolution.7, pipe.7, pthreads.7, pty.7, rtld-audit.7, sem_overview.7, shm_overview.7, sigevent.7, signal.7, suffixes.7, svipc.7, termio.7, time.7, udplite.7, units.7, uri.7, sln.8: s/LICENSE_START(verbatim)/LICENSE_START(VERBATIM)/
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-10 10:57:10 +01:00
Michael Kerrisk 4b72fb6462 intro.1, _exit.2, access.2, alarm.2, alloc_hugepages.2, arch_prctl.2, bind.2, chdir.2, chmod.2, chown.2, chroot.2, clock_getres.2, clock_nanosleep.2, close.2, connect.2, delete_module.2, dup.2, execve.2, exit_group.2, faccessat.2, fchmodat.2, fchownat.2, fcntl.2, fork.2, fstatat.2, fsync.2, futimesat.2, get_robust_list.2, getdents.2, getdomainname.2, getgid.2, getgroups.2, gethostname.2, getpagesize.2, getpid.2, getresuid.2, getrlimit.2, getrusage.2, gettid.2, gettimeofday.2, getuid.2, getunwind.2, idle.2, init_module.2, intro.2, iopl.2, kcmp.2, kexec_load.2, kill.2, link.2, linkat.2, llseek.2, lookup_dcookie.2, madvise.2, mincore.2, mkdirat.2, mknodat.2, mmap.2, mmap2.2, mount.2, mprotect.2, mq_getsetattr.2, msgctl.2, msgget.2, msgop.2, msync.2, nice.2, open.2, openat.2, pause.2, perfmonctl.2, personality.2, pipe.2, poll.2, posix_fadvise.2, prctl.2, pread.2, process_vm_readv.2, quotactl.2, read.2, readahead.2, readdir.2, readlinkat.2, readv.2, reboot.2, recvmmsg.2, remap_file_pages.2, rename.2, renameat.2, rmdir.2, rt_sigqueueinfo.2, select.2, select_tut.2, semctl.2, semget.2, semop.2, sendmmsg.2, set_tid_address.2, seteuid.2, setfsgid.2, setfsuid.2, setgid.2, setresuid.2, setuid.2, setup.2, sgetmask.2, shmctl.2, shmget.2, shmop.2, sigaction.2, sigaltstack.2, signal.2, sigpending.2, sigprocmask.2, sigreturn.2, sigsuspend.2, sigwaitinfo.2, splice.2, stat.2, statfs.2, stime.2, subpage_prot.2, swapon.2, symlink.2, symlinkat.2, sync.2, sync_file_range.2, syscalls.2, sysctl.2, sysfs.2, syslog.2, tee.2, time.2, timer_create.2, timer_delete.2, timer_getoverrun.2, timer_settime.2, times.2, tkill.2, umask.2, umount.2, uname.2, unlink.2, unlinkat.2, uselib.2, ustat.2, utime.2, utimensat.2, vfork.2, vhangup.2, vm86.2, vmsplice.2, wait.2, wait4.2, write.2, CPU_SET.3, INFINITY.3, abort.3, abs.3, acos.3, acosh.3, adjtime.3, aio_init.3, asin.3, asinh.3, asprintf.3, assert.3, assert_perror.3, atan.3, atan2.3, atanh.3, atexit.3, atof.3, atoi.3, basename.3, bcmp.3, bcopy.3, bindresvport.3, bsd_signal.3, bsearch.3, bstring.3, byteorder.3, bzero.3, catgets.3, catopen.3, cbrt.3, ceil.3, clearenv.3, clock.3, clock_getcpuclockid.3, closedir.3, confstr.3, copysign.3, cos.3, cosh.3, ctermid.3, ctime.3, difftime.3, dirfd.3, div.3, dl_iterate_phdr.3, dprintf.3, drand48.3, drand48_r.3, dysize.3, ecvt.3, ecvt_r.3, end.3, endian.3, erf.3, erfc.3, ether_aton.3, euidaccess.3, exit.3, exp.3, exp10.3, exp2.3, expm1.3, fabs.3, fcloseall.3, fexecve.3, ffs.3, fgetgrent.3, fgetpwent.3, finite.3, flockfile.3, floor.3, fmod.3, fnmatch.3, fopencookie.3, fpathconf.3, fpurge.3, frexp.3, fseeko.3, ftok.3, futimes.3, gcvt.3, get_nprocs_conf.3, getaddrinfo.3, getaddrinfo_a.3, getauxval.3, getcontext.3, getcwd.3, getdate.3, getdirentries.3, getdtablesize.3, getenv.3, getfsent.3, getgrent.3, getgrnam.3, getgrouplist.3, gethostbyname.3, gethostid.3, getifaddrs.3, getipnodebyname.3, getline.3, getlogin.3, getmntent.3, getnetent.3, getnetent_r.3, getopt.3, getprotoent.3, getprotoent_r.3, getpw.3, getpwent.3, getpwnam.3, getrpcent_r.3, gets.3, getservent.3, getservent_r.3, getumask.3, getusershell.3, getutmp.3, getw.3, glob.3, gnu_get_libc_version.3, gsignal.3, hypot.3, if_nameindex.3, if_nametoindex.3, ilogb.3, index.3, inet.3, inet_ntop.3, inet_pton.3, infnan.3, initgroups.3, insque.3, intro.3, isalpha.3, isatty.3, j0.3, ldexp.3, localeconv.3, log.3, log10.3, log1p.3, log2.3, logb.3, lrint.3, lround.3, lsearch.3, lseek64.3, makecontext.3, makedev.3, mallinfo.3, malloc.3, malloc_get_state.3, malloc_info.3, malloc_stats.3, malloc_trim.3, malloc_usable_size.3, mallopt.3, matherr.3, mcheck.3, memccpy.3, memchr.3, memcmp.3, memcpy.3, memfrob.3, memmem.3, memmove.3, memset.3, mkdtemp.3, mkfifo.3, mkfifoat.3, mkstemp.3, mktemp.3, modf.3, mq_close.3, mq_getattr.3, mq_notify.3, mq_open.3, mq_receive.3, mq_send.3, mq_unlink.3, mtrace.3, on_exit.3, opendir.3, posix_fallocate.3, posix_memalign.3, posix_openpt.3, pow.3, pow10.3, profil.3, psignal.3, pthread_attr_init.3, pthread_attr_setaffinity_np.3, pthread_attr_setdetachstate.3, pthread_attr_setguardsize.3, pthread_attr_setinheritsched.3, pthread_attr_setschedparam.3, pthread_attr_setschedpolicy.3, pthread_attr_setscope.3, pthread_attr_setstack.3, pthread_attr_setstackaddr.3, pthread_attr_setstacksize.3, pthread_cancel.3, pthread_cleanup_push.3, pthread_cleanup_push_defer_np.3, pthread_create.3, pthread_detach.3, pthread_equal.3, pthread_exit.3, pthread_getattr_np.3, pthread_getcpuclockid.3, pthread_join.3, pthread_kill.3, pthread_kill_other_threads_np.3, pthread_self.3, pthread_setaffinity_np.3, pthread_setcancelstate.3, pthread_setconcurrency.3, pthread_setname_np.3, pthread_setschedparam.3, pthread_setschedprio.3, pthread_sigmask.3, pthread_sigqueue.3, pthread_testcancel.3, pthread_tryjoin_np.3, pthread_yield.3, putenv.3, putpwent.3, puts.3, qecvt.3, qsort.3, raise.3, rand.3, random.3, random_r.3, re_comp.3, readdir.3, realpath.3, regex.3, remainder.3, remove.3, resolver.3, rewinddir.3, rint.3, round.3, scalb.3, scalbln.3, scandir.3, sched_getcpu.3, seekdir.3, sem_close.3, sem_destroy.3, sem_getvalue.3, sem_init.3, sem_open.3, sem_post.3, sem_unlink.3, sem_wait.3, setenv.3, setlocale.3, setlogmask.3, shm_open.3, siginterrupt.3, sigpause.3, sigqueue.3, sigset.3, sigsetops.3, sigvec.3, sigwait.3, sin.3, sinh.3, sleep.3, sockatmark.3, sqrt.3, statvfs.3, stdio_ext.3, stpcpy.3, strcasecmp.3, strcat.3, strchr.3, strcmp.3, strcoll.3, strcpy.3, strdup.3, strerror.3, strfry.3, strftime.3, string.3, strlen.3, strpbrk.3, strptime.3, strsep.3, strsignal.3, strspn.3, strstr.3, strtok.3, strtol.3, strtoul.3, strverscmp.3, strxfrm.3, swab.3, sysconf.3, syslog.3, system.3, sysv_signal.3, tan.3, tanh.3, tcgetpgrp.3, tcgetsid.3, telldir.3, tempnam.3, timegm.3, timeradd.3, tmpfile.3, tmpnam.3, toascii.3, toupper.3, trunc.3, tsearch.3, ttyslot.3, tzset.3, ulimit.3, undocumented.3, unlocked_stdio.3, usleep.3, y0.3, cpuid.4, full.4, initrd.4, mouse.4, msr.4, sd.4, st.4, acct.5, core.5, services.5, slabinfo.5, aio.7, capabilities.7, credentials.7, feature_test_macros.7, hier.7, inotify.7, libc.7, locale.7, man-pages.7, man.7, math_error.7, mq_overview.7, numa.7, path_resolution.7, pipe.7, pthreads.7, pty.7, rtld-audit.7, sem_overview.7, shm_overview.7, sigevent.7, signal.7, suffixes.7, svipc.7, termio.7, time.7, udplite.7, units.7, uri.7, sln.8: Global fix: Add LICENSE_START(verbatim)
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-10 10:57:09 +01:00
Michael Kerrisk dac8367047 _exit.2, access.2, acct.2, adjtimex.2, alarm.2, alloc_hugepages.2, arch_prctl.2, bdflush.2, bind.2, brk.2, chdir.2, chmod.2, chown.2, chroot.2, clock_getres.2, clone.2, close.2, connect.2, dup.2, execve.2, faccessat.2, fchmodat.2, fchownat.2, fcntl.2, flock.2, fork.2, fstatat.2, fsync.2, futimesat.2, getdomainname.2, getgid.2, getgroups.2, gethostname.2, getpid.2, getresuid.2, getrlimit.2, getrusage.2, gettid.2, gettimeofday.2, getuid.2, idle.2, ioperm.2, iopl.2, ipc.2, kexec_load.2, kill.2, link.2, linkat.2, lookup_dcookie.2, madvise.2, migrate_pages.2, mincore.2, mkdir.2, mkdirat.2, mknod.2, mknodat.2, mlock.2, mmap.2, mmap2.2, modify_ldt.2, mount.2, move_pages.2, mq_getsetattr.2, mremap.2, msync.2, nanosleep.2, nfsservctl.2, nice.2, open.2, openat.2, outb.2, pause.2, perf_event_open.2, pipe.2, poll.2, posix_fadvise.2, prctl.2, ptrace.2, read.2, readahead.2, readlinkat.2, rename.2, renameat.2, rmdir.2, sched_get_priority_max.2, sched_rr_get_interval.2, sched_setparam.2, sched_setscheduler.2, sched_yield.2, select.2, setresuid.2, setup.2, socketcall.2, splice.2, stat.2, stime.2, swapon.2, symlink.2, symlinkat.2, sync.2, sync_file_range.2, tee.2, time.2, times.2, tkill.2, umask.2, umount.2, unimplemented.2, unlink.2, unlinkat.2, uselib.2, utime.2, utimensat.2, vhangup.2, vm86.2, vmsplice.2, wait.2, wait4.2, write.2, ether_aton.3, euidaccess.3, fexecve.3, ftime.3, futimes.3, getdirentries.3, getdtablesize.3, gethostid.3, getlogin.3, getpt.3, grantpt.3, hsearch.3, inet.3, lsearch.3, mkfifo.3, mkfifoat.3, mq_close.3, mq_getattr.3, mq_notify.3, mq_open.3, mq_receive.3, mq_send.3, mq_unlink.3, posix_openpt.3, profil.3, ptsname.3, scandirat.3, sem_close.3, sem_destroy.3, sem_getvalue.3, sem_init.3, sem_open.3, sem_post.3, sem_unlink.3, sem_wait.3, shm_open.3, stpcpy.3, termios.3, toascii.3, tsearch.3, ulimit.3, undocumented.3, unlockpt.3, pts.4, charmap.5, locale.5, services.5, feature_test_macros.7, inotify.7, mq_overview.7, pipe.7, pty.7, sem_overview.7, shm_overview.7, unicode.7, utf-8.7: Global fix: remove "Hey Emacs" comment in page source
Only certain pages have this; there is no consistency, so
remove it from all pages

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-10 10:57:08 +01:00
Michael Kerrisk 73d8cece72 intro.1, time.1, _syscall.2, accept.2, capget.2, clone.2, execve.2, fcntl.2, intro.2, ioctl_list.2, ioprio_set.2, kill.2, mlock.2, nanosleep.2, perf_event_open.2, select.2, stat.2, times.2, ustat.2, vfork.2, wait.2, cfree.3, dbopen.3, dlopen.3, fenv.3, fmtmsg.3, gamma.3, getaddrinfo.3, gethostbyname.3, getnameinfo.3, getspnam.3, login.3, printf.3, regex.3, stdio.3, sysconf.3, termios.3, ttyslot.3, undocumented.3, wordexp.3, console_codes.4, initrd.4, mouse.4, random.4, st.4, tty_ioctl.4, wavelan.4, charmap.5, dir_colors.5, hosts.5, termcap.5, armscii-8.7, boot.7, bootparam.7, capabilities.7, charsets.7, ddp.7, futex.7, glob.7, ipv6.7, iso_8859-1.7, iso_8859-10.7, iso_8859-11.7, iso_8859-13.7, iso_8859-14.7, iso_8859-15.7, iso_8859-16.7, iso_8859-2.7, iso_8859-3.7, iso_8859-4.7, iso_8859-5.7, iso_8859-6.7, iso_8859-7.7, iso_8859-8.7, iso_8859-9.7, koi8-r.7, koi8-u.7, man.7, numa.7, path_resolution.7, pipe.7, posixoptions.7, pthreads.7, pty.7, rtnetlink.7, signal.7, time.7, udp.7, udplite.7, unicode.7, uri.7, utf-8.7: G;lobal fix: remove unneeded double quotes in .SS headings
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-02-24 19:02:18 +01:00
Michael Kerrisk 47297adb6e getent.1, intro.1, time.1, _exit.2, _syscall.2, accept.2, access.2, acct.2, adjtimex.2, alarm.2, alloc_hugepages.2, arch_prctl.2, bdflush.2, bind.2, brk.2, cacheflush.2, capget.2, chdir.2, chmod.2, chown.2, chroot.2, clock_getres.2, clock_nanosleep.2, clone.2, close.2, connect.2, create_module.2, delete_module.2, dup.2, epoll_create.2, epoll_ctl.2, epoll_wait.2, eventfd.2, execve.2, exit_group.2, faccessat.2, fchmodat.2, fchownat.2, fcntl.2, flock.2, fork.2, fstatat.2, fsync.2, futex.2, futimesat.2, get_kernel_syms.2, get_robust_list.2, get_thread_area.2, getcpu.2, getdents.2, getdomainname.2, getgid.2, getgroups.2, gethostname.2, getitimer.2, getpagesize.2, getpeername.2, getpid.2, getpriority.2, getresuid.2, getrlimit.2, getrusage.2, getsid.2, getsockname.2, getsockopt.2, gettid.2, gettimeofday.2, getuid.2, getunwind.2, getxattr.2, idle.2, init_module.2, inotify_add_watch.2, inotify_init.2, inotify_rm_watch.2, intro.2, io_cancel.2, io_destroy.2, io_getevents.2, io_setup.2, io_submit.2, ioctl.2, ioctl_list.2, ioperm.2, iopl.2, ioprio_set.2, ipc.2, kcmp.2, kill.2, killpg.2, link.2, linkat.2, listen.2, listxattr.2, llseek.2, lookup_dcookie.2, lseek.2, madvise.2, migrate_pages.2, mincore.2, mkdir.2, mkdirat.2, mknod.2, mknodat.2, mlock.2, mmap.2, mmap2.2, modify_ldt.2, mount.2, move_pages.2, mprotect.2, mq_getsetattr.2, mremap.2, msgctl.2, msgget.2, msgop.2, msync.2, nanosleep.2, nfsservctl.2, nice.2, open.2, openat.2, outb.2, pause.2, pciconfig_read.2, perf_event_open.2, perfmonctl.2, personality.2, pipe.2, pivot_root.2, poll.2, posix_fadvise.2, prctl.2, pread.2, process_vm_readv.2, ptrace.2, query_module.2, quotactl.2, read.2, readahead.2, readdir.2, readlink.2, readlinkat.2, readv.2, reboot.2, recv.2, remap_file_pages.2, removexattr.2, rename.2, renameat.2, rmdir.2, rt_sigqueueinfo.2, sched_get_priority_max.2, sched_rr_get_interval.2, sched_setaffinity.2, sched_setparam.2, sched_setscheduler.2, sched_yield.2, select.2, semctl.2, semget.2, semop.2, send.2, sendfile.2, set_thread_area.2, set_tid_address.2, seteuid.2, setfsgid.2, setfsuid.2, setgid.2, setpgid.2, setresuid.2, setreuid.2, setsid.2, setuid.2, setup.2, setxattr.2, shmctl.2, shmget.2, shmop.2, shutdown.2, sigaction.2, sigaltstack.2, signal.2, signalfd.2, sigpending.2, sigprocmask.2, sigreturn.2, sigsuspend.2, sigwaitinfo.2, socket.2, socketcall.2, socketpair.2, splice.2, stat.2, statfs.2, stime.2, swapon.2, symlink.2, symlinkat.2, sync.2, sync_file_range.2, sysctl.2, sysfs.2, sysinfo.2, syslog.2, tee.2, time.2, timerfd_create.2, times.2, tkill.2, truncate.2, umask.2, umount.2, uname.2, unimplemented.2, unlink.2, unlinkat.2, uselib.2, ustat.2, utime.2, utimensat.2, vfork.2, vhangup.2, vm86.2, vmsplice.2, wait.2, wait4.2, write.2, CPU_SET.3, INFINITY.3, MB_CUR_MAX.3, MB_LEN_MAX.3, __setfpucw.3, a64l.3, abort.3, abs.3, acos.3, acosh.3, addseverity.3, adjtime.3, aio_cancel.3, aio_error.3, aio_fsync.3, aio_read.3, aio_return.3, aio_suspend.3, aio_write.3, alloca.3, argz_add.3, asin.3, asinh.3, asprintf.3, assert.3, assert_perror.3, atan.3, atan2.3, atanh.3, atexit.3, atof.3, atoi.3, backtrace.3, basename.3, bcmp.3, bcopy.3, bindresvport.3, bsd_signal.3, bsearch.3, bstring.3, btowc.3, btree.3, byteorder.3, bzero.3, cabs.3, cacos.3, cacosh.3, canonicalize_file_name.3, carg.3, casin.3, casinh.3, catan.3, catanh.3, catgets.3, catopen.3, cbrt.3, ccos.3, ccosh.3, ceil.3, cerf.3, cexp.3, cexp2.3, cfree.3, cimag.3, clearenv.3, clock.3, clock_getcpuclockid.3, clog.3, clog10.3, clog2.3, closedir.3, cmsg.3, confstr.3, conj.3, copysign.3, cos.3, cosh.3, cpow.3, cproj.3, creal.3, crypt.3, csin.3, csinh.3, csqrt.3, ctan.3, ctanh.3, ctermid.3, ctime.3, daemon.3, dbopen.3, des_crypt.3, difftime.3, dirfd.3, div.3, dl_iterate_phdr.3, dlopen.3, dprintf.3, drand48.3, drand48_r.3, dysize.3, ecvt.3, ecvt_r.3, encrypt.3, end.3, endian.3, envz_add.3, erf.3, erfc.3, err.3, errno.3, error.3, ether_aton.3, euidaccess.3, exec.3, exit.3, exp.3, exp10.3, exp2.3, expm1.3, fabs.3, fclose.3, fcloseall.3, fdim.3, fenv.3, ferror.3, fexecve.3, fflush.3, ffs.3, fgetgrent.3, fgetpwent.3, fgetwc.3, fgetws.3, finite.3, flockfile.3, floor.3, fma.3, fmax.3, fmemopen.3, fmin.3, fmod.3, fmtmsg.3, fnmatch.3, fopen.3, fpathconf.3, fpclassify.3, fpurge.3, fputwc.3, fputws.3, fread.3, frexp.3, fseek.3, fseeko.3, ftime.3, ftok.3, fts.3, ftw.3, futimes.3, fwide.3, gamma.3, gcvt.3, getaddrinfo.3, getaddrinfo_a.3, getauxval.3, getcontext.3, getcwd.3, getdate.3, getdirentries.3, getdtablesize.3, getenv.3, getfsent.3, getgrent.3, getgrent_r.3, getgrnam.3, getgrouplist.3, gethostbyname.3, gethostid.3, getipnodebyname.3, getline.3, getloadavg.3, getlogin.3, getmntent.3, getnameinfo.3, getnetent.3, getnetent_r.3, getopt.3, getpass.3, getprotoent.3, getprotoent_r.3, getpt.3, getpw.3, getpwent.3, getpwent_r.3, getpwnam.3, getrpcent.3, getrpcent_r.3, getrpcport.3, gets.3, getservent.3, getservent_r.3, getspnam.3, getttyent.3, getumask.3, getusershell.3, getutent.3, getw.3, getwchar.3, glob.3, grantpt.3, gsignal.3, hash.3, hsearch.3, hypot.3, iconv.3, iconv_close.3, iconv_open.3, ilogb.3, index.3, inet.3, inet_ntop.3, inet_pton.3, infnan.3, initgroups.3, insque.3, intro.3, isalpha.3, isatty.3, isgreater.3, iswalnum.3, iswalpha.3, iswblank.3, iswcntrl.3, iswctype.3, iswdigit.3, iswgraph.3, iswlower.3, iswprint.3, iswpunct.3, iswspace.3, iswupper.3, iswxdigit.3, j0.3, key_setsecret.3, ldexp.3, lgamma.3, lio_listio.3, localeconv.3, lockf.3, log.3, log10.3, log1p.3, log2.3, logb.3, login.3, longjmp.3, lrint.3, lround.3, lsearch.3, lseek64.3, makecontext.3, makedev.3, malloc.3, malloc_hook.3, mblen.3, mbrlen.3, mbrtowc.3, mbsinit.3, mbsnrtowcs.3, mbsrtowcs.3, mbstowcs.3, mbtowc.3, memccpy.3, memchr.3, memcmp.3, memcpy.3, memfrob.3, memmem.3, memmove.3, mempcpy.3, memset.3, mkdtemp.3, mkfifo.3, mkfifoat.3, mkstemp.3, mktemp.3, modf.3, mpool.3, mq_close.3, mq_getattr.3, mq_notify.3, mq_open.3, mq_receive.3, mq_send.3, mq_unlink.3, mtrace.3, nan.3, netlink.3, nextafter.3, nl_langinfo.3, offsetof.3, on_exit.3, opendir.3, openpty.3, perror.3, popen.3, posix_fallocate.3, posix_memalign.3, posix_openpt.3, pow.3, pow10.3, printf.3, profil.3, program_invocation_name.3, psignal.3, pthread_kill_other_threads_np.3, ptsname.3, putenv.3, putgrent.3, putpwent.3, puts.3, putwchar.3, qecvt.3, qsort.3, queue.3, raise.3, rand.3, random.3, random_r.3, rcmd.3, re_comp.3, readdir.3, realpath.3, recno.3, regex.3, remainder.3, remove.3, remquo.3, resolver.3, rewinddir.3, rexec.3, rint.3, round.3, rpc.3, rpmatch.3, rtime.3, rtnetlink.3, scalb.3, scalbln.3, scandir.3, scandirat.3, scanf.3, seekdir.3, sem_close.3, sem_destroy.3, sem_getvalue.3, sem_init.3, sem_open.3, sem_post.3, sem_unlink.3, sem_wait.3, setaliasent.3, setbuf.3, setenv.3, setjmp.3, setlocale.3, setlogmask.3, setnetgrent.3, shm_open.3, siginterrupt.3, signbit.3, significand.3, sigpause.3, sigqueue.3, sigset.3, sigsetops.3, sigvec.3, sin.3, sincos.3, sinh.3, sleep.3, sockatmark.3, sqrt.3, statvfs.3, stdarg.3, stdin.3, stdio.3, stdio_ext.3, stpcpy.3, stpncpy.3, strcasecmp.3, strcat.3, strchr.3, strcmp.3, strcoll.3, strcpy.3, strdup.3, strerror.3, strfmon.3, strfry.3, strftime.3, string.3, strlen.3, strnlen.3, strpbrk.3, strptime.3, strsep.3, strsignal.3, strspn.3, strstr.3, strtod.3, strtoimax.3, strtok.3, strtol.3, strtoul.3, strverscmp.3, strxfrm.3, swab.3, sysconf.3, syslog.3, system.3, sysv_signal.3, tan.3, tanh.3, tcgetpgrp.3, tcgetsid.3, telldir.3, tempnam.3, termios.3, tgamma.3, timegm.3, timeradd.3, tmpfile.3, tmpnam.3, toascii.3, toupper.3, towctrans.3, towlower.3, towupper.3, trunc.3, tsearch.3, ttyname.3, ttyslot.3, tzset.3, ualarm.3, ulimit.3, ungetwc.3, unlocked_stdio.3, unlockpt.3, updwtmp.3, usleep.3, wcpcpy.3, wcpncpy.3, wcrtomb.3, wcscasecmp.3, wcscat.3, wcschr.3, wcscmp.3, wcscpy.3, wcscspn.3, wcsdup.3, wcslen.3, wcsncasecmp.3, wcsncat.3, wcsncmp.3, wcsncpy.3, wcsnlen.3, wcsnrtombs.3, wcspbrk.3, wcsrchr.3, wcsrtombs.3, wcsspn.3, wcsstr.3, wcstoimax.3, wcstok.3, wcstombs.3, wcswidth.3, wctob.3, wctomb.3, wctrans.3, wctype.3, wcwidth.3, wmemchr.3, wmemcmp.3, wmemcpy.3, wmemmove.3, wmemset.3, wordexp.3, wprintf.3, xcrypt.3, xdr.3, y0.3, cciss.4, console.4, console_codes.4, console_ioctl.4, dsp56k.4, fd.4, full.4, hd.4, hpsa.4, initrd.4, intro.4, lp.4, mem.4, mouse.4, null.4, pts.4, ram.4, random.4, rtc.4, sk98lin.4, st.4, tty.4, ttyS.4, tty_ioctl.4, vcs.4, wavelan.4, acct.5, charmap.5, dir_colors.5, filesystems.5, ftpusers.5, group.5, host.conf.5, hosts.5, hosts.equiv.5, intro.5, issue.5, locale.5, motd.5, networks.5, nologin.5, nscd.conf.5, passwd.5, proc.5, protocols.5, resolv.conf.5, rpc.5, securetty.5, services.5, shells.5, termcap.5, ttytype.5, utmp.5, armscii-8.7, arp.7, ascii.7, bootparam.7, capabilities.7, charsets.7, complex.7, cp1251.7, credentials.7, ddp.7, environ.7, epoll.7, fifo.7, futex.7, glob.7, hier.7, icmp.7, inotify.7, intro.7, ip.7, ipv6.7, iso_8859-1.7, iso_8859-10.7, iso_8859-11.7, iso_8859-13.7, iso_8859-14.7, iso_8859-15.7, iso_8859-16.7, iso_8859-2.7, iso_8859-3.7, iso_8859-4.7, iso_8859-5.7, iso_8859-6.7, iso_8859-7.7, iso_8859-8.7, iso_8859-9.7, koi8-r.7, koi8-u.7, locale.7, mailaddr.7, man.7, mq_overview.7, netdevice.7, netlink.7, numa.7, packet.7, path_resolution.7, pipe.7, posixoptions.7, pthreads.7, pty.7, raw.7, regex.7, rtld-audit.7, rtnetlink.7, sem_overview.7, shm_overview.7, sigevent.7, signal.7, socket.7, standards.7, suffixes.7, svipc.7, tcp.7, termio.7, time.7, udp.7, udplite.7, unicode.7, unix.7, uri.7, utf-8.7, x25.7, nscd.8, sync.8, tzselect.8, zdump.8, zic.8: Global fix: remove unneeded double quotes in .SH headings
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-02-24 19:01:36 +01:00
David Prévot 173fe7e792 arch_prctl.2, fcntl.2, flock.2, get_robust_list.2, getpriority.2, ioprio_set.2, migrate_pages.2, mmap.2, mremap.2, msync.2, sched_get_priority_max.2, sched_rr_get_interval.2, sched_setparam.2, sched_setscheduler.2, sched_yield.2, select.2, socket.2, subpage_prot.2, unshare.2, btree.3, dbopen.3, dl_iterate_phdr.3, dlopen.3, getnameinfo.3, hash.3, lockf.3, netlink.3, recno.3, rpc.3, xdr.3, cciss.4, console_ioctl.4, hpsa.4, initrd.4, msr.4, rtc.4, st.4, hosts.5, services.5, tzfile.5, aio.7, arp.7, capabilities.7, cpuset.7, feature_test_macros.7, futex.7, inotify.7, ip.7, ipv6.7, iso_8859-16.7, iso_8859-2.7, koi8-r.7, math_error.7, netlink.7, packet.7, pthreads.7, raw.7, spufs.7, udplite.7, uri.7, x25.7: Global fix: Various consistency fixes for SEE ALSO
Coauthored-by: Michael Kerrisk <mtk.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2012-09-24 09:53:22 +02:00
Abhijith Das a8ceabbc8c fcntl.2: Explain behaviour of F_GETLEASE during lease break
Here's a patch to the fcntl.2 manpage that explains
the working of F_GETLEASE in a bit more detail during
lease breaks. Basically, what happens is this: When a
lease break is initiated by a lease breaker, subsequent
F_GETLEASE calls return the target lease type after
the lease break and not the existing lease type. This
behavior persists until the lease holder downgrades/unlocks
the lease or the kernel forcibly does it after the lease
break timeout expires.

The implicit assumption is that F_GETLEASE should
return the existing lock type until the downgrade/unlock
has actually taken place, which is not true. I've verified
that the kernel indeed returns the target lease type. It
is also simple enough to verify this behavior in a small
program, where you can observe that the lease type
returned by F_GETLEASE in the signal handler for a
lease break is different from the existing lease type.

Signed-off-by: Abhijith Das <adas@redhat.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2012-04-15 10:43:00 +12:00
Michael Kerrisk ed9821bba0 fcntl.2: Change type of arg from "long" to "int"
Various fcntl(2) commands require an integral 'arg'.
The man page said it must be "long" in all such cases.
However, for the cases covered by POSIX, there is an
explicit requirement that these arguments be "int".
Update the man page to reflect. Probably, all of the
other "long" cases (not specified in POSIX) should
be "int", and this patch makes them so. Based on a
note fromEric Blake, relating to F_DUPFD_CLOEXEC.

Reported-by: Eric Blake <ebb9@byu.net>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2012-03-30 07:36:20 +13:00
Michael Kerrisk ea4282fa86 fcntl.2: wfix: /proc/sys/fs/pipe-size-max ==> /proc/sys/fs/pipe-max-size
Reported-by: Matthew Gregan <kinetik@flim.org>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2012-03-25 06:51:50 +13:00
Michael Kerrisk f81c6cc693 fcntl.2, recv.2, crypt.3, err.3, strtoul.3, proc.5: tstamp
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2011-09-16 07:02:06 +02:00
Michael Kerrisk a9ddf39094 fcntl.2: Note that F_GETFL also retrieves file access mode
Reported-by: Reuben Thomas <rrt@sc3d.org>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2011-09-16 07:00:46 +02:00
Michael Kerrisk 7959206648 fcntl.2: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2011-09-16 07:00:46 +02:00
Michael Kerrisk c069739940 truncate.2: Minor rewording
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-11-21 06:23:29 +01:00
Michael Kerrisk 0e8704ae99 fcntl.2: Add notes on fcntl64()
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-11-21 06:13:41 +01:00
Michael Kerrisk d5e2db539d clone.2, fcntl.2, euidaccess.3, getopt.3: tstamp
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-11-01 15:53:53 +01:00
Michael Kerrisk e4b4151a14 fcntl.2: RETURN VALUE: Improve description of F_GETFD and F_GETFL
Reported-by: scarlettsp <scarlettsp@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-10-30 07:23:10 +02:00
Michael Kerrisk 5fab2e7c9c Changes.old, clone.2, execve.2, fcntl.2, futex.2, getitimer.2, getpriority.2, mmap.2, mount.2, mprotect.2, sched_setscheduler.2, select_tut.2, setuid.2, sigaltstack.2, vfork.2, div.3, fenv.3, fmod.3, memchr.3, pthread_attr_setstackaddr.3, pthread_attr_setstacksize.3, pthread_getattr_np.3, queue.3, scanf.3, trunc.3, st.4, proc.5, services.5, utmp.5, bootparam.7, capabilities.7, feature_test_macros.7, futex.7, glob.7, man.7, netlink.7, unicode.7: Switch to American usage: "-wards" ==> "-ward"
American English uses "afterward" in preference to "afterwards",
and so on

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-09-26 07:34:47 +02:00
Michael Kerrisk 72dca4ff98 fcntl.2: Add feature test macro requirements for F_GETOWN and F_SETOWN
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-09-22 16:59:02 +02:00
Michael Kerrisk 02b219a16a fcntl.2: Note feature test macro requirements for F_DUPFD_CLOEXEC
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-09-22 16:59:02 +02:00
Michael Kerrisk e417acb023 fcntl.2, intro.2, open.2, poll.2, ftw.3, intro.3, matherr.3, system.3, tmpnam.3, unix.7: Note that feature test macros must be defined before *any* includes
Programmers often make the mistake of including a feature test
macro only after having already included some header files.
This patch adds some text at opportune places to remind
programmers to do things the right way.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-09-10 06:33:31 +02:00
Michael Kerrisk b911dcb076 Removed trailing white space at end of lines 2010-06-20 06:43:23 +02:00
Michael Kerrisk bc92ddbb15 fcntl.2: spfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-06-19 04:29:32 +02:00
Michael Kerrisk cc7965fc11 fcntl.2: Improve F_SETPIPE_SZ text
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-06-19 04:13:28 +02:00
Michael Kerrisk 14f7d1a4bd fcntl.2: Document F_SETPIPE_SZ and F_GETPIPE_SZ
These commands, new in kernel 2.6.35, set and get the capacity
of pipes.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-06-17 00:11:47 +02:00
Michael Kerrisk 23a05d28b6 fcntl.2: Note that glibc 2.11 papers over the kernel F_GETOWN bug
Since version 2.11, glibc works around the kernel limitation for
process groups IDs < 4096 by implementing F_GETOWN via F_GETOWN_EX.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-06-16 23:46:02 +02:00
Michael Kerrisk d5dd3a91dc Removed trailing white space at end of lines 2010-02-26 05:45:27 +01:00
Michael Kerrisk 3b777affca close.2, epoll_create.2, epoll_ctl.2, fcntl.2, madvise.2, mmap.2, mremap.2, select_tut.2, setgid.2, setuid.2, syscalls.2, vmsplice.2, dlopen.3, fts.3, getpw.3, stdio.3, fd.4, initrd.4, random.4, sd.4, bootparam.7, capabilities.7, cpuset.7, epoll.7, inotify.7, man.7, socket.7, x25.7: Global fix: s/re-/re/
The tendency in English, as prescribed in style guides like
Chicago MoS, is towards removing hyphens after prefixes
like "re-" etc.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-01-16 18:45:23 +01:00
Michael Kerrisk c7094399ad intro.1, time.1, adjtimex.2, capget.2, eventfd.2, fcntl.2, getrlimit.2, getsockopt.2, gettimeofday.2, intro.2, ioctl_list.2, ioperm.2, mlock.2, pivot_root.2, poll.2, prctl.2, ptrace.2, sched_setscheduler.2, select_tut.2, semget.2, sigaltstack.2, signalfd.2, sysctl.2, timer_settime.2, timerfd_create.2, wait.2, CPU_SET.3, argz_add.3, assert_perror.3, atexit.3, backtrace.3, bcmp.3, clearenv.3, ctime.3, dl_iterate_phdr.3, dlopen.3, ecvt.3, errno.3, error.3, ether_aton.3, exit.3, fenv.3, ferror.3, finite.3, flockfile.3, fnmatch.3, fpathconf.3, fpclassify.3, ftime.3, ftok.3, ftw.3, fwide.3, getaddrinfo.3, gethostbyname.3, getlogin.3, getnameinfo.3, getnetent.3, getopt.3, getprotoent.3, getrpcent.3, getservent.3, glob.3, hsearch.3, inet.3, isalpha.3, iswalnum.3, iswalpha.3, iswblank.3, iswcntrl.3, iswctype.3, iswdigit.3, iswgraph.3, iswlower.3, iswprint.3, iswpunct.3, iswspace.3, iswupper.3, iswxdigit.3, longjmp.3, lsearch.3, malloc.3, matherr.3, mblen.3, mbsinit.3, mbtowc.3, on_exit.3, printf.3, pthread_attr_init.3, pthread_attr_setaffinity_np.3, pthread_attr_setdetachstate.3, pthread_attr_setguardsize.3, pthread_attr_setinheritsched.3, pthread_attr_setschedparam.3, pthread_attr_setschedpolicy.3, pthread_attr_setscope.3, pthread_attr_setstack.3, pthread_attr_setstackaddr.3, pthread_attr_setstacksize.3, pthread_cancel.3, pthread_cleanup_push.3, pthread_equal.3, pthread_getattr_np.3, pthread_getcpuclockid.3, pthread_setaffinity_np.3, pthread_setcancelstate.3, pthread_setconcurrency.3, pthread_setschedparam.3, pthread_setschedprio.3, ptsname.3, putenv.3, putgrent.3, raise.3, rcmd.3, regex.3, rexec.3, rpc.3, rpmatch.3, rtnetlink.3, scandir.3, sem_init.3, setaliasent.3, setbuf.3, setenv.3, setjmp.3, signbit.3, stdio_ext.3, strtod.3, strtol.3, strtoul.3, system.3, termios.3, timeradd.3, tzset.3, ualarm.3, wctomb.3, xdr.3, st.4, tty_ioctl.4, core.5, elf.5, proc.5, bootparam.7, capabilities.7, icmp.7, ip.7, ipv6.7, math_error.7, mdoc.samples.7, mq_overview.7, pthreads.7, raw.7, regex.7, socket.7, tcp.7, tzselect.8: Global fix: s/non-zero/nonzero/
The tendency in English, as prescribed in style guides like
Chicago MoS, is towards removing hyphens after prefixes
like "non-" etc.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-01-16 17:40:55 +01:00
Michael Kerrisk 1eef2ba881 fcntl.2: s/F_OWNER_GID/F_OWNER_PGRP/
Peter Zijlstra took the name change I suggested.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2009-10-17 06:00:04 +02:00
Michael Kerrisk dd164bfcd5 fcntl.2: Document F_[SG]ETOWN_EX; update details on F_SETOWN
Linux 2.6.32 adds F_SETOWN_EX and F_GETOWN_EX.
Linux 2.6.12 changed (broke) the former behavior of
F_SETOWN with respect to threads.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2009-10-03 17:23:31 +02:00
Nicolas Franois 5541fa5210 fcntl.2: Minor fixes
Just a formatting typo.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2009-09-28 12:46:23 +02:00
Michael Kerrisk 6da336d7fe fcntl.2: The kernel source file mandatory.txt is now mandatory-locking.txt
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2009-07-25 08:30:59 +02:00
Michael Kerrisk de544d7faf fcntl.2, flock.2: The Documentation/* files are now in Documentation/filesystems
Reported-by: Tolga Dalman <tdalman@project-psi.org>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2009-07-25 08:30:51 +02:00
Michael Kerrisk 962939dd7e fcntl.2: Remove mention of EWOULDBLOCK from discussion of mandatory locking
In the kernel, the error on encountering a mandatory lock is
EAGAIN.  Although EAGAIN and EWOULDBLOCK are the same on
most Linux architectures, on some they are not, so don't
mention EWOULDBLOCK as it is misleading.  (Mea culpa.)

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2009-02-23 17:21:00 +13:00
Michael Kerrisk 63a6efda14 fcntl.2: spfix 2008-11-25 20:54:08 -05:00
Michael Kerrisk 71fea60784 fcntl.2, signal.2, mbsnrtowcs.3, mbsrtowcs.3, mbtowc.3, wcrtomb.3, wcsnrtombs.3, wcsrtombs.3, wctomb.3: Global fix: s/multi-thread/multithread/
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2008-11-25 20:54:08 -05:00
Michael Kerrisk 057dce78b1 Move description of negative l_len from NOTES, integrating
it into the discussion of file locking.
Minor rewrites of the text on file locking.
2008-09-05 12:23:14 +00:00
Michael Kerrisk 68e0696a74 More clearly and consistently describe the whether or not the third
argument to fnctl() is required, and what its type should be.
2008-09-05 11:46:06 +00:00
Michael Kerrisk e1146d332c F_DUPFD_CLOEXEC is specified in POSIX.1-2008. 2008-08-21 05:15:16 +00:00
Michael Kerrisk 01538d0d51 ERRORS: Added reference to signal(7) in dicussion of EINTR. 2008-07-04 15:50:36 +00:00
Michael Kerrisk 20523df7ef Wrap source lines so that new sentence starts on new line. 2008-06-12 06:09:19 +00:00
Michael Kerrisk 635d395977 wfix 2008-04-08 13:04:03 +00:00
Michael Kerrisk eba722884d s/nonzero/non-zero/ 2008-03-19 13:16:39 +00:00
Michael Kerrisk 955f4c381a ffix 2008-01-13 09:40:31 +00:00
Michael Kerrisk ca92ce95a3 Remove/replace extraneous .sp macros. 2008-01-01 14:13:55 +00:00
Michael Kerrisk e4b4caa6b8 wfix 2007-12-28 04:39:57 +00:00
Michael Kerrisk c382a36592 hyphenation fixes 2007-12-25 22:02:19 +00:00
Michael Kerrisk 8382f16db1 grfix 2007-12-25 21:28:09 +00:00
Michael Kerrisk 34ccb744ec s/x86/i386/ 2007-12-24 17:31:35 +00:00
Michael Kerrisk 49b50a1812 wfix 2007-12-23 17:30:21 +00:00
Michael Kerrisk 088a639be3 Make the standard indent for code samples, shell session
logs, etc. to be ".in +4n".
2007-12-19 06:57:44 +00:00
Michael Kerrisk 0e92e8cc83 Remove section number from page self ref 2007-12-09 08:30:09 +00:00
Michael Kerrisk ef203e4559 ffix 2007-11-29 17:59:49 +00:00
Michael Kerrisk 7653389dcf wspace cleanup 2007-11-24 10:38:05 +00:00
Michael Kerrisk 2777b1caec Remove section numbers for page references where the
reference refers to the page itself.  (This stops man2html
producing links from a page back to itself.)
2007-11-24 10:10:39 +00:00
Michael Kerrisk 531d750bb3 Update date in .TH line 2007-11-19 08:06:28 +00:00
Michael Kerrisk 43ea35457d Add warning that mandatory locking is unreliable. 2007-11-19 01:34:30 +00:00
Michael Kerrisk a406395c86 Add warning that mandatory locking is unreliable. 2007-11-19 01:26:19 +00:00
Michael Kerrisk ea53895cb8 Clarify details in description of file leases.
Minor wording edits.
2007-11-19 01:21:58 +00:00
Michael Kerrisk 276adee157 Add F_GETLEASE under RETURN VALUE. 2007-11-17 06:23:13 +00:00
Michael Kerrisk cedab4493d Removed trailing white space at end of lines 2007-11-17 05:46:09 +00:00
Michael Kerrisk 0daa9e92d0 Fix redundant formatting macros 2007-09-20 16:26:31 +00:00
Michael Kerrisk c11b1abf2e Change mtk's email address 2007-09-20 06:52:22 +00:00
Michael Kerrisk 4df883b963 ffix 2007-09-04 06:30:39 +00:00
Michael Kerrisk fc15ae54b9 tfix/wfix 2007-07-10 03:57:50 +00:00
Michael Kerrisk 682edefb1b ffix 2007-06-22 17:16:20 +00:00
Michael Kerrisk 988db66164 strip trailing white space 2007-06-21 22:55:04 +00:00
Michael Kerrisk 8bd58774dc Formatted signal names 2007-06-21 05:38:48 +00:00
Michael Kerrisk 0e1ad98ccf Updated FIXMEs 2007-06-13 21:48:16 +00:00
Michael Kerrisk 75b94dc35c Change "e.g. " to "e.g., ", or in some cases, "for example, ".
Change "i.e. " to i.e.., ", or in some cases, "that is, ".
2007-06-08 11:56:22 +00:00
Michael Kerrisk d9bfdb9c21 Convert to American spelling conventions 2007-06-08 09:56:56 +00:00
Michael Kerrisk d9343c5c13 Removed version number from .TH line 2007-05-30 05:36:26 +00:00
Michael Kerrisk d880b21c28 Small rewrite of SEE ALSO text pointing to Document/* in kernel source. 2007-05-27 12:13:11 +00:00
Michael Kerrisk a3c945b37d Added .\" comment about l_sysid. 2007-05-27 11:52:46 +00:00
Michael Kerrisk 87eca6b7b3 Remove misleading text about setting O_ASYNC when calling
open(); one must use fcntl() F_SETFL for this task.
2007-05-21 06:34:45 +00:00
Michael Kerrisk a1d5f77cc8 Reordered sections to be more consistent, in some cases renaming
sections or shifting paragraphs between sections.
2007-05-18 16:06:42 +00:00
Michael Kerrisk 7c93fec03d Wrapped source lines 2007-05-12 12:58:31 +00:00
Michael Kerrisk 0bfa087b03 Add section numbers to references to other pages 2007-05-11 23:07:02 +00:00
Michael Kerrisk c13182efa3 Wrapped long lines, wrapped at sentence boundaries; stripped trailing
white space.
2007-04-12 22:42:49 +00:00
Michael Kerrisk cf0a9ace57 ffix 2007-04-05 12:36:57 +00:00
Michael Kerrisk 75b48e9d74 Various fixes to CONFORMING TO 2006-12-17 01:34:44 +00:00
Michael Kerrisk a7fadb5558 Updated CONFOMRING TOs and/or standards references. 2006-08-04 12:39:17 +00:00
Michael Kerrisk 97c1eac86f Updated CONFORMING TO section 2006-08-03 13:57:17 +00:00
Michael Kerrisk cb1c9135d0 ffix 2006-08-03 03:02:31 +00:00
Michael Kerrisk ace17ecf07 Explicitly mention term "dnotify" in discussion of F_NOTIFY. 2006-06-05 01:51:44 +00:00
Michael Kerrisk 6883b3e731 Changed copyright commnents to add 'and' in some cases 2006-05-22 23:52:24 +00:00
Michael Kerrisk a8e7c990dc Rename ftm.7 to feature_test_macros.7 2006-05-15 09:13:10 +00:00
Michael Kerrisk 50e5322c85 Added SEE ALSO reference to ftm.7 2006-04-21 06:49:34 +00:00
Michael Kerrisk 00d7bbcfbf Expanded discussion of mandatory locking. 2006-03-31 21:14:41 +00:00
Michael Kerrisk 1130df606b Amend copyright notices, in particular those where I had significant
authorship.
2006-02-15 23:15:29 +00:00
Michael Kerrisk 3adb464791 tfix 2006-02-13 22:46:01 +00:00
Michael Kerrisk 8548d8e240 Under ERRORS: Separate out EAGAIN error for locking mmaped files. 2006-02-10 20:29:38 +00:00
Michael Kerrisk c533af9d27 Reformatted FIXMEs 2006-02-10 18:46:42 +00:00
Michael Kerrisk 92057f4dbc Updated FIXMEs 2006-02-08 09:44:13 +00:00
Michael Kerrisk 1363cf9511 Added xref under dnotify description to inotify.7. 2006-02-06 22:43:15 +00:00
Michael Kerrisk 68b93ce208 Small wording changes 2006-02-02 03:25:50 +00:00
Michael Kerrisk b2216ffee6 Clarified parts of the discussion of file leases,
noting effect of open(O_NONBLOCK), interruption
by signal handler, or termination by signal in lease breaker.
In response to Debian bug 339037.
2005-11-17 14:56:41 +00:00
Michael Kerrisk 31e9a9ec99 Change itacised function names and page xrefs to bold 2005-11-02 11:34:24 +00:00
Michael Kerrisk 35e21ba7ca Formatting fixes 2005-10-19 13:48:50 +00:00
Michael Kerrisk a7a0588842 Further improvements to recently changed leases text 2005-10-13 09:30:54 +00:00
Michael Kerrisk 1a6d974a99 Since kernel 2.6.10, a read lease can only be placed on a
file descriptor that is opened read-only.
See the following LKML thread of Aug 2005
("fcntl(F GETLEASE) semantics??"):
http://marc.theaimsgroup.com/?l=linux-kernel&m=112371777712197&w=2
http://marc.theaimsgroup.com/?l=linux-kernel&m=112374818213000&w=2
http://marc.theaimsgroup.com/?l=linux-kernel&m=112376335305284&w=2
http://marc.theaimsgroup.com/?l=linux-kernel&m=112377294030092&w=2
2005-10-12 14:54:00 +00:00
Michael Kerrisk b14d4aa5b8 Classical BSD versions are now always named x.yBSD (formerly
there was a mix of x.yBSD and BSD x.y).
2005-07-18 15:05:56 +00:00
Michael Kerrisk 880f5b4bc3 Consistent use of "set-user-ID" and "set-group-ID". 2005-07-18 14:25:42 +00:00
Michael Kerrisk 8c383102d0 hyphen/dash fixes 2005-07-07 08:27:03 +00:00
Michael Kerrisk 8c45053412 s/the the/the/ 2005-07-05 13:50:51 +00:00
Michael Kerrisk 0847872439 Minor wording changes 2005-06-27 14:42:40 +00:00
Michael Kerrisk 98740ac7a7 Formatting changes 2005-06-24 10:53:06 +00:00
Michael Kerrisk 72da38ce1d Minor wording changes 2005-06-22 10:59:21 +00:00
Michael Kerrisk 1864073923 Added FIXME 2005-06-22 10:56:11 +00:00
Michael Kerrisk cff88e99ab Consistent use of terms "open file description",
"file status flags", and "file decriptor flags"
Some rewriting of discussion of file descriptor flags
Under F_DUPFD, replaced some text duplicated in dup.2 with a cross ref to dup.2
Minor wording and formatting fixes
2005-06-22 09:53:58 +00:00
Michael Kerrisk 8729177b44 global edit s/ -1/ \\-1/g 2005-06-15 14:10:23 +00:00
Michael Kerrisk 9d2a7b1f62 Noted F_SETOWN bug for socket file descriptor in Linux 2.4 and earlier.
Added text on permissions required to send signal to owner.

====

Hello Johannes,

> Betreff: Inaccuracy of fcntl man page
> Datum: Mon, 2 May 2005 20:07:12 +0200

Thanks for yor note.

Sorry for the delay in getting back to you.  I needed to find time 
to set aside to look at the details.  Now I've finally got there.

> I have attached a simple program 

Thanks -- a little program is always helpful.

> that uses the fcntl system call in order
> to kill an arbitrary process of the same user.
> According to the fcntl man page, fcntl(fd,F_SETOWN,pid) returns zero if 
> it has success.

Yes.

> If you strace the program while killing for exampe man running in another 
> terminal, you will see that man is killed, but fcntl(fd,F_SETOWN,pid)
> will return EPERM, 

I confirm that I see this problem in 2.4, with both Unix domain 
and Internet domain sockets.

> where you can only find a very confusing explanation 
> in the fcntl man page.

I'm not sure what explanation you mean here.  As far as I can 
tell, the manual page just doesn't cover this point.

> I have looked into the kernel source of 2.4.30 and found out, that 
> net/core/socket::sock_no_fcntl is the culprit if you use fcntl on Unix 
> sockets.

Yes, looks that way to me, as well,  And the 2.2 code looks 
similar.

> If pid is not your own pid or not your own process group, 
> the system call will return EPERM but will also set the pid 
> as you wanted to.

Yes.

> In the 2.6 kernel line, fcntl will react according the specification in
> the manual page.

Yes.

> If you also think, that one should clarify the return specification of 
> fcntl(fd,F_SETOWN,pid) or 2.4.x kernels, please tell me and I will 
> provide you with a patch for the manual page.

In fact I've written some new text under BUGS, which describes
the problem:

  In Linux 2.4 and earlier, there is bug that can occur  when  an
  unprivileged  process  uses  F_SETOWN to specify the owner of a
  socket file descriptor as a  process  (group)  other  than  the
  caller.   In this case, fcntl() can return -1 with errno set to
  EPERM, even when the owner process  (group)  is  one  that  the
  caller  has  permission to send signals to.  Despite this error
  return, the file descriptor owner is set, and signals  will  be
  sent to the owner.

Does that seem okay to you?

> Furthermore, it would be interseting to write there, what permissions 
> one need in order to send signals to processes via fcntl 

Good idea.  I added the following new text:

  Sending a signal to  the  owner  process  (group)  specified  by
  F_SETOWN  is  subject  to  the  same  permissions  checks as are
  described for kill(2), where the sending process is the one that
  employs F_SETOWN (but see BUGS below).

====


#define _GNU_SOURCE		/* needed to get the defines */
#include <fcntl.h>		/* in glibc 2.2 this has the needed
				   values defined */
#include <signal.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/un.h>


/**
 * Funnykill kills a program with fcntl
**/
int
main (int argc, char **argv)
{
  if (argc != 2)
    {
      fprintf (stderr, "Usage: funnykill <pid>\n");
      return 1;
    }

  int sockets[2];
  socketpair (AF_UNIX, SOCK_STREAM, 0, sockets);
  if (fcntl (sockets[0], F_SETFL, O_ASYNC | O_NONBLOCK) == -1) 
      errMsg("fcntl-F_SETFL");
  if (fcntl (sockets[0], F_SETOWN, atoi (argv[1])) == -1) 
      errMsg("fcntl-F_SETOWN");
//  fcntl (sockets[0], F_SETOWN, getpid());
  if (fcntl (sockets[0], F_SETSIG, SIGKILL) == -1) 
      errMsg("fcntl-_FSETSIG");
  write (sockets[1], "good bye", 9);
}
2005-05-20 12:11:25 +00:00
Michael Kerrisk 704a18f06d Fixed typos and spelling mistakes 2005-04-18 13:35:29 +00:00
Michael Kerrisk 7502db97e2 Fix typo in 2.02 release 2005-04-14 09:24:26 +00:00