Bruno Haible
06b335ade6
Write "Mac OS X" instead of "MacOS X".
...
* 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 >.
2012-06-22 13:28:15 +02:00
Bruno Haible
8661b04d4c
pipe2: refine doc about thread-safety
...
* doc/glibc-functions/pipe2.texi: Clarify the extent of the
multithread-safety problem.
* doc/glibc-functions/accept4.texi: Likewise.
2012-01-26 22:21:45 +01:00
Eric Blake
41423a6ca6
pipe2, assign4: document lack of thread-safety in replacement
...
* 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.
2012-01-26 08:31:48 -07:00
Bruno Haible
fca3cc12dc
doc: Update for Solaris 11 2011-11.
...
* doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
* m4/printf.m4: Update comments.
2012-01-08 19:57:53 +01:00
Bruno Haible
4e39aa4288
doc: Update regarding MSVC 9.
...
* 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.
2011-09-11 21:56:17 +02:00
Bruno Haible
ca2c85799a
Documentation about Minix.
...
* 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.
2011-07-31 14:50:18 +02:00
Eric Blake
3dbe75e4eb
pipe, pipe2: don't corrupt fd on error
...
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 >
2011-06-29 16:04:56 -06:00
Bruno Haible
64e338384b
pipe2: Remove dependency on 'nonblocking' module.
...
* 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.
2011-06-04 10:59:53 +02:00
Bruno Haible
e8eabe5a3d
Update for Solaris 11 2010-11.
...
* doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
Express, released in November 2010.
2010-12-04 11:38:40 +01:00
Bruno Haible
6ef93da4ca
Update for NetBSD 5.0.
...
* 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.
2010-11-21 21:31:19 +01:00
Bruno Haible
4ef8b64903
Update for MacOS X 10.5.
...
* 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.
2010-11-21 18:43:19 +01:00
Eric Blake
e2843e30e8
docs: update cygwin progress
...
* 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 >
2010-05-04 08:18:30 -06:00
Bruno Haible
7988d7308a
New module 'pipe2'.
2009-08-22 18:50:21 +02:00
Bruno Haible
37b2d8827b
Reference some new glibc functions.
2009-08-22 15:25:51 +02:00