summaryrefslogtreecommitdiff
path: root/doc/glibc-functions/pipe2.texi
Commit message (Collapse)AuthorAgeFilesLines
* doc: Update for macOS 11.1.Bruno Haible2021-03-211-1/+1
| | | | | | | | | | * doc/posix-headers/*.texi: Update. * doc/glibc-headers/*.texi: Update. * doc/posix-functions/*.texi: Likewise. * doc/pastposix-functions/*.texi: Likewise. * doc/glibc-functions/*.texi: Likewise. * m4/aligned_alloc.m4 (gl_FUNC_ALIGNED_ALLOC): Update cross-compilation guess.
* doc: Update for Mac OS X 10.13.Bruno Haible2020-07-251-1/+1
| | | | | | | | | * doc/*/*.texi: Update. * m4/expm1l.m4: Update comments. * m4/getgroups.m4: Likewise. * m4/getlogin_r.m4: Likewise. * m4/linkat.m4: Likewise. * m4/printf.m4: Likewise.
* doc: Remove documentation of OSF/1 as supported platform.Bruno Haible2019-07-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/gnulib-intro.texi (Target Platforms): Mention that OSF/1 is unsupported. * doc/glibc-functions/getdomainname.texi: Don't mention OSF/1 specific workarounds. * doc/glibc-functions/pthread_setname_np.texi: Likewise. * doc/glibc-functions/ptsname_r.texi: Likewise. * doc/posix-functions/ceil.texi: Likewise. * doc/posix-functions/ceilf.texi: Likewise. * doc/posix-functions/ceill.texi: Likewise. * doc/posix-functions/fchdir.texi: Likewise. * doc/posix-functions/floor.texi: Likewise. * doc/posix-functions/floorf.texi: Likewise. * doc/posix-functions/fmod.texi: Likewise. * doc/posix-functions/fmodf.texi: Likewise. * doc/posix-functions/fmodl.texi: Likewise. * doc/posix-functions/log.texi: Likewise. * doc/posix-functions/logf.texi: Likewise. * doc/posix-functions/logl.texi: Likewise. * doc/posix-functions/log10.texi: Likewise. * doc/posix-functions/log10f.texi: Likewise. * doc/posix-functions/log10l.texi: Likewise. * doc/posix-functions/log2.texi: Likewise. * doc/posix-functions/log2f.texi: Likewise. * doc/posix-functions/log2l.texi: Likewise. * doc/posix-functions/mbrtowc.texi: Likewise. * doc/posix-functions/recv.texi: Likewise. * doc/posix-functions/recvfrom.texi: Likewise. * doc/posix-functions/remainder.texi: Likewise. * doc/posix-functions/remainderf.texi: Likewise. * doc/posix-functions/remainderl.texi: Likewise. * doc/posix-functions/round.texi: Likewise. * doc/posix-functions/roundf.texi: Likewise. * doc/posix-functions/roundl.texi: Likewise. * doc/posix-functions/send.texi: Likewise. * doc/posix-functions/sendto.texi: Likewise. * doc/posix-functions/setenv.texi: Likewise. * doc/posix-functions/snprintf.texi: Likewise. * doc/posix-functions/tcgetsid.texi: Likewise. * doc/posix-functions/trunc.texi: Likewise. * doc/posix-functions/truncf.texi: Likewise. * doc/posix-functions/truncl.texi: Likewise. * doc/posix-functions/ttyname_r.texi: Likewise. * doc/posix-functions/unsetenv.texi: Likewise. * doc/posix-functions/wcsrtombs.texi: Likewise. * doc/posix-headers/sys_select.texi: Likewise. * doc/posix-headers/wchar.texi: Likewise. * doc/posix-headers/wctype.texi: Likewise. * doc/**/*.texi: Update.
* doc: Remove documentation of Interix 3.5 as a supported platform.Bruno Haible2019-07-061-1/+1
| | | | * doc/**/*.texi: Update.
* doc: Remove documentation of BeOS as a supported platform.Bruno Haible2019-07-061-1/+1
| | | | | | | | * doc/gnulib-intro.texi (Target Platforms): Mention that BeOS is unsupported. * doc/*-functions/*printf.texi: Don't mention BeOS specific workarounds. * doc/posix-functions/getdelim.texi: Likewise. * doc/**/*.texi: Update.
* doc: Add references to Linux man pages.Bruno Haible2019-06-101-0/+2
| | | | | | | * doc/glibc-functions/add-manpage-link.sh: New file. * doc/glibc-functions/*.texi: Add reference to man page on kernel.org when it exists. * doc/posix-functions/aligned_alloc.texi: Likewise.
* doc: Mention the availability of specific functions in glibc versions.Bruno Haible2019-06-101-1/+1
| | | | | | | | | | | | | | | * doc/glibc-functions/accept4.texi: Add info about glibc. * doc/glibc-functions/dup3.texi: Likewise. * doc/glibc-functions/fallocate.texi: Likewise. * doc/glibc-functions/mkostemp.texi: Likewise. * doc/glibc-functions/pipe2.texi: Likewise. * doc/posix-functions/futimens.texi: Likewise. * doc/posix-functions/pthread_barrierattr_getpshared.texi: Likewise. * doc/posix-functions/pthread_condattr_getclock.texi: Likewise. * doc/posix-functions/pthread_condattr_setclock.texi: Likewise. * doc/posix-functions/pthread_setschedprio.texi: Likewise. * doc/posix-functions/strerror_l.texi: Likewise. * doc/posix-functions/utimensat.texi: Likewise.
* doc: Add info about Android versions 2.0 to 8.1.Bruno Haible2018-05-131-2/+1
| | | | | * doc/**/*.texi: Add info about functions in all released versions of Bionic.
* doc: Update for Solaris 11.3.Bruno Haible2017-10-121-1/+1
| | | | | | | | | | * doc/**/*.texi: For bugs that exist in both Solaris 11.0 and 11.3, mention Solaris 11.3. * m4/log2.m4: Fix comments. * m4/log2f.m4: Likewise. * m4/printf.m4: Update comments. * m4/rename.m4: Likewise. * m4/strncat.m4: Likewise.
* all: Write "Solaris 11.0" instead of "Solaris 11 2011-11".Bruno Haible2017-10-121-1/+1
|
* doc: Update for MSVC 14.Bruno Haible2017-07-061-1/+1
| | | | | | | | * doc/posix-headers/*.texi: Add info about MSVC 14. * doc/posix-functions/*.texi: Likewise. * doc/pastposix-functions/*.texi: Likewise. * doc/glibc-headers/*.texi: Likewise. * doc/glibc-functions/*.texi: Likewise.
* Write "Mac OS X" instead of "MacOS X".Bruno Haible2012-06-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * README: Write "Mac OS X" instead of "MacOS X". * build-aux/bootstrap: Likewise. * build-aux/install-reloc: Likewise. * lib/acl-internal.h: Likewise. * lib/acl_entries.c: Likewise. * lib/argp-ba.c: Likewise. * lib/argp-pv.c: Likewise. * lib/config.charset: Likewise. * lib/copy-acl.c: Likewise. * lib/csharpexec.c: Likewise. * lib/euidaccess.c: Likewise. * lib/fbufmode.c: Likewise. * lib/fflush.c: Likewise. * lib/file-has-acl.c: Likewise. * lib/filemode.h: Likewise. * lib/fpurge.c: Likewise. * lib/freadable.c: Likewise. * lib/freadahead.c: Likewise. * lib/freading.c: Likewise. * lib/freadptr.c: Likewise. * lib/freadseek.c: Likewise. * lib/fseeko.c: Likewise. * lib/fseterr.c: Likewise. * lib/fsusage.c: Likewise. * lib/fwritable.c: Likewise. * lib/fwriting.c: Likewise. * lib/get-rusage-as.c: Likewise. * lib/get-rusage-data.c: Likewise. * lib/getdomainname.c: Likewise. * lib/idpriv-drop.c: Likewise. * lib/idpriv-droptemp.c: Likewise. * lib/localcharset.c: Likewise. * lib/locale.in.h: Likewise. * lib/localename.c: Likewise. * lib/mbsrtowcs-state.c: Likewise. * lib/nproc.c: Likewise. * lib/passfd.c: Likewise. * lib/posix_openpt.c: Likewise. * lib/printf-parse.c: Likewise. * lib/progreloc.c: Likewise. * lib/safe-read.h: Likewise. * lib/safe-write.h: Likewise. * lib/sched.in.h: Likewise. * lib/set-mode-acl.c: Likewise. * lib/signal.in.h: Likewise. * lib/stdint.in.h: Likewise. * lib/stdio-impl.h: Likewise. * lib/stdlib.in.h: Likewise. * lib/strtod.c: Likewise. * lib/sys_select.in.h: Likewise. * lib/tcgetsid.c: Likewise. * lib/unistd.in.h: Likewise. * lib/unlockpt.c: Likewise. * lib/vasnprintf.c: Likewise. * lib/vma-iter.c: Likewise. * lib/wcsrtombs-state.c: Likewise. * m4/acl.m4: Likewise. * m4/acosl.m4: Likewise. * m4/asinl.m4: Likewise. * m4/atanl.m4: Likewise. * m4/c-stack.m4: Likewise. * m4/cosl.m4: Likewise. * m4/expl.m4: Likewise. * m4/extensions.m4: Likewise. * m4/fdatasync.m4: Likewise. * m4/fmal.m4: Likewise. * m4/frexp.m4: Likewise. * m4/frexpf.m4: Likewise. * m4/frexpl.m4: Likewise. * m4/fsusage.m4: Likewise. * m4/getdomainname.m4: Likewise. * m4/getloadavg.m4: Likewise. * m4/getopt.m4: Likewise. * m4/gettext.m4: Likewise. * m4/gnulib-common.m4: Likewise. * m4/intdiv0.m4: Likewise. * m4/intlmacosx.m4: Likewise. * m4/largefile.m4: Likewise. * m4/ldexpl.m4: Likewise. * m4/link-follow.m4: Likewise. * m4/locale-ar.m4: Likewise. * m4/locale-fr.m4: Likewise. * m4/locale-ja.m4: Likewise. * m4/locale-tr.m4: Likewise. * m4/locale-zh.m4: Likewise. * m4/locale_h.m4: Likewise. * m4/lock.m4: Likewise. * m4/logl.m4: Likewise. * m4/mathfunc.m4: Likewise. * m4/minus-zero.m4: Likewise. * m4/mktime.m4: Likewise. * m4/mmap-anon.m4: Likewise. * m4/multiarch.m4: Likewise. * m4/nanosleep.m4: Likewise. * m4/nocrash.m4: Likewise. * m4/poll.m4: Likewise. * m4/printf-frexpl.m4: Likewise. * m4/printf.m4: Likewise. * m4/signbit.m4: Likewise. * m4/sinl.m4: Likewise. * m4/sqrtl.m4: Likewise. * m4/strerror_r.m4: Likewise. * m4/tanl.m4: Likewise. * m4/threadlib.m4: Likewise. * m4/ttyname_r.m4: Likewise. * m4/unlink.m4: Likewise. * m4/visibility.m4: Likewise. * m4/wcwidth.m4: Likewise. * tests/minus-zero.h: Likewise. * tests/test-alloca-opt.c: Likewise. * tests/test-copy-acl.sh: Likewise. * tests/test-copy-file.sh: Likewise. * tests/test-fdatasync.c: Likewise. * tests/test-file-has-acl.sh: Likewise. * tests/test-flock.c: Likewise. * tests/test-fsync.c: Likewise. * tests/test-localename.c: Likewise. * tests/test-malloca.c: Likewise. * tests/test-nonblocking-pipe.h: Likewise. * tests/test-nonblocking-socket.h: Likewise. * tests/test-openpty.c: Likewise. * tests/test-posix_openpt.c: Likewise. * tests/test-ptsname.c: Likewise. * tests/test-ptsname_r.c: Likewise. * tests/test-sameacls.c: Likewise. * tests/test-select.h: Likewise. * tests/test-set-mode-acl.sh: Likewise. * tests/test-snprintf-posix.h: Likewise. * tests/test-sprintf-posix.h: Likewise. * tests/test-strtod.c: Likewise. * tests/test-time.c: Likewise. * tests/test-vasnprintf-posix.c: Likewise. * tests/test-vasprintf-posix.c: Likewise. * doc/acl-resources.txt: Likewise. * doc/**/*.texi: Likewise. Reported by Max Horn <max@quendi.de>.
* pipe2: refine doc about thread-safetyBruno Haible2012-01-261-1/+2
| | | | | | * doc/glibc-functions/pipe2.texi: Clarify the extent of the multithread-safety problem. * doc/glibc-functions/accept4.texi: Likewise.
* pipe2, assign4: document lack of thread-safety in replacementEric Blake2012-01-261-0/+1
| | | | | | | * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety issue in replacement. * doc/glibc-functions/accept4.texi (accept4): Likewise. Based on a report by Eric Wong.
* doc: Update for Solaris 11 2011-11.Bruno Haible2012-01-081-1/+1
| | | | | * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate. * m4/printf.m4: Update comments.
* doc: Update regarding MSVC 9.Bruno Haible2011-09-111-1/+1
| | | | | | | | | | * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely tested". * doc/posix-functions/*.texi: Update with info about MSVC 9. * doc/posix-headers/*.texi: Likewise. * doc/pastposix-functions/*.texi: Likewise. * doc/glibc-functions/*.texi: Likewise. * doc/glibc-headers/*.texi: Likewise.
* Documentation about Minix.Bruno Haible2011-07-311-1/+1
| | | | | | | * doc/posix-headers/*.texi: Add info about Minix 3.1.8. * doc/glibc-headers/*.texi: Likewise. * doc/posix-functions/*.texi: Likewise. * doc/glibc-functions/*.texi: Likewise.
* pipe, pipe2: don't corrupt fd on errorEric Blake2011-06-291-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I noticed a potential subtle double-close bug in libvirt. There, a common idiom is to initialize an int fd[2]={-1,-1}, then have multiple error paths goto common cleanup code. In the cleanup code, the fds are closed if they are not already -1; this works if the error label is reached before the pipe call, or after pipe succeeds, but if it was the pipe call itself that jumped to the error label, then it is relying on failed pipe() not altering the values already in fd array prior to the failure. Our pipe2 replacement violated this assumption, and could leave a non-negative value in the array, which in turn would let libvirt close an already-closed fd, possibly nuking an unrelated fd opened by another thread that happened to get the same value. As a result, I raised a POSIX issue regarding the behavior of pipe on failure: http://austingroupbugs.net/view.php?id=467 Using that test program, I learned that most systems leave fd unchanged on error, but that mingw always assigns -1 into the array. This fixes the mingw pipe() replacement, as well as the gnulib pipe2() replacement. I don't know of any race-free way to work around a cygwin crash: http://cygwin.com/ml/cygwin/2011-06/msg00328.html - we could always open() and then close() two fds to guess whether two spare fd still remain before calling pipe(), but that is racy. * lib/pipe.c (pipe): Leave fd unchanged on error. * lib/pipe2.c (pipe2): Likewise. * doc/posix-functions/pipe.texi (pipe): Document cygwin issue. * doc/glibc-functions/pipe2.texi (pipe2): Likewise. Signed-off-by: Eric Blake <eblake@redhat.com>
* pipe2: Remove dependency on 'nonblocking' module.Bruno Haible2011-06-041-0/+3
| | | | | | | | | | | | * lib/pipe2.c: Include verify.h. Include nonblocking.h only if O_NONBLOCK is defined by gnulib. (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it is zero. * modules/pipe2 (Depends-on): Add verify. Remove nonblocking. * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is defined by gnulib. (get_nonblocking_flag): New function. (main): Test O_NONBLOCK flag only if it is nonzero.
* Update for Solaris 11 2010-11.Bruno Haible2010-12-041-1/+1
| | | | | * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11 Express, released in November 2010.
* Update for NetBSD 5.0.Bruno Haible2010-11-211-1/+1
| | | | | | | * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on NetBSD; the test fails on NetBSD 5.0. * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info about NetBSD.
* Update for MacOS X 10.5.Bruno Haible2010-11-211-1/+1
| | | | | | | * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on MacOS X; the test fails on MacOS X 10.5.8. * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info about MacOS X.
* docs: update cygwin progressEric Blake2010-05-041-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix this bug. * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf): Added in cygwin 1.7.2. * doc/glibc-functions/get_phys_pages.texi (get_phys_pages): Likewise. * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages): Likewise. * doc/glibc-functions/dup3.texi (dup3): Likewise. * doc/glibc-functions/pipe2.texi (pipe2): Likewise. * doc/glibc-functions/accept4.texi (accept4): Likewise. * doc/posix-functions/strfmon.texi (strfmon): Likewise. * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise. Mention nproc module. * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention bug in cygwin 1.7.5 addition. * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise. * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise. * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise. * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin 1.7.5. * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise. * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise. * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise. * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise. * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise. * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise. * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise. * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise. * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise. * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise. * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise. * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise. * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise. * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise. * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t): Likewise. * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise. * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise. * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise. * doc/glibc-functions/xdr_reference.texi (xdr_reference): Likewise. * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise. * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise. * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise. * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise. * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise. * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise. * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise. * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t): Likewise. * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise. * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise. * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise. * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise. * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring): Likewise. * doc/glibc-functions/xdrmem_create.texi (xdrmem_create): Likewise. * doc/glibc-functions/xdrrec_create.texi (xdrrec_create): Likewise. * doc/glibc-functions/xdrrec_endofrecord.texi (xdrrec_endofrecord): Likewise. * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise. * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord): Likewise. * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create): Likewise. Signed-off-by: Eric Blake <eblake@redhat.com>
* New module 'pipe2'.Bruno Haible2009-08-221-4/+4
|
* Reference some new glibc functions.Bruno Haible2009-08-221-0/+16