Bruno Haible
9b604b4cbf
New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
...
* lib/msvc-nothrow.h: New file.
* lib/msvc-nothrow.c: New file.
* m4/msvc-nothrow.m4: New file.
* modules/msvc-nothrow: New file.
* lib/dup2.c: Include msvc-nothrow.h.
(rpl_dup2): No need to protect _get_osfhandle call here.
* lib/accept4.c: Include msvc-nothrow.h.
* lib/error.c: Likewise.
* lib/fcntl.c: Likewise.
* lib/lseek.c: Likewise.
* lib/nonblocking.c: Likewise.
* lib/poll.c: Likewise.
* lib/read.c: Likewise.
* lib/select.c: Likewise.
* lib/sockets.h: Likewise.
* lib/sockets.c: Likewise.
* lib/stdio-read.c: Likewise.
* lib/stdio-write.c: Likewise.
* lib/write.c: Likewise.
* lib/w32sock.h: Likewise.
* lib/w32spawn.h: Likewise.
* lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
* lib/fsync.c: Likewise.
* lib/isapipe.c: Likewise.
* modules/dup2 (Depends-on): Add msvc-nothrow.
* modules/accept4 (Depends-on): Likewise.
* modules/error (Depends-on): Likewise.
* modules/fcntl (Depends-on): Likewise.
* modules/lseek (Depends-on): Likewise.
* modules/nonblocking (Depends-on): Likewise.
* modules/poll (Depends-on): Likewise.
* modules/read (Depends-on): Likewise.
* modules/select (Depends-on): Likewise.
* modules/sockets (Depends-on): Likewise.
* modules/sigpipe (Depends-on): Likewise.
* modules/write (Depends-on): Likewise.
* modules/accept (Depends-on): Likewise.
* modules/bind (Depends-on): Likewise.
* modules/connect (Depends-on): Likewise.
* modules/gethostname (Depends-on): Likewise.
* modules/getpeername (Depends-on): Likewise.
* modules/getsockname (Depends-on): Likewise.
* modules/getsockopt (Depends-on): Likewise.
* modules/ioctl (Depends-on): Likewise.
* modules/listen (Depends-on): Likewise.
* modules/recv (Depends-on): Likewise.
* modules/recvfrom (Depends-on): Likewise.
* modules/send (Depends-on): Likewise.
* modules/sendto (Depends-on): Likewise.
* modules/setsockopt (Depends-on): Likewise.
* modules/shutdown (Depends-on): Likewise.
* modules/socket (Depends-on): Likewise.
* modules/execute (Depends-on): Likewise.
* modules/spawn-pipe (Depends-on): Likewise.
* modules/flock (Depends-on): Likewise.
* modules/fsync (Depends-on): Likewise.
* modules/isapipe (Depends-on): Likewise.
* tests/test-cloexec.c: Include msvc-nothrow.h.
* tests/test-dup-safer.c: Likewise.
* tests/test-dup2.c: Likewise.
* tests/test-dup3.c: Likewise.
* tests/test-fcntl.c: Likewise.
* tests/test-pipe.c: Likewise.
* tests/test-pipe2.c: Likewise.
* modules/cloexec-tests (Depends-on): Add msvc-nothrow.
* modules/unistd-safer-tests (Depends-on): Likewise.
* modules/dup2-tests (Depends-on): Likewise.
* modules/dup3-tests (Depends-on): Likewise.
* modules/fcntl-tests (Depends-on): Likewise.
* modules/pipe-posix-tests (Depends-on): Likewise.
* modules/pipe2-tests (Depends-on): Likewise.
2011-09-23 21:38:44 +02:00
Eric Blake
0fc0aa3814
exit: drop remaining clients
...
Anyone using EXIT_FAILURE needs to depend on stdlib, now that
the exit module is gone.
* modules/argmatch (Depends-on): Replace exit with stdlib.
* modules/copy-file (Depends-on): Likewise.
* modules/execute (Depends-on): Likewise.
* modules/exitfail (Depends-on): Likewise.
* modules/obstack (Depends-on): Likewise.
* modules/pagealign_alloc (Depends-on): Likewise.
* modules/pipe-filter-gi (Depends-on): Likewise.
* modules/pipe-filter-ii (Depends-on): Likewise.
* modules/savewd (Depends-on): Likewise.
* modules/spawn-pipe (Depends-on): Likewise.
* modules/wait-process (Depends-on): Likewise.
* modules/xsetenv (Depends-on): Likewise.
* modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
* modules/git-merge-changelog (Depends-on): Likewise.
* modules/long-options (Depends-on): Likewise.
* modules/pt_chown (Depends-on): Likewise.
* modules/sysexits (Depends-on): Likewise.
Signed-off-by: Eric Blake <eblake@redhat.com >
2011-05-02 12:02:59 -06:00
Eric Blake
d8ccc13ba3
cloexec: add dup_cloexec
...
This is needed to enforce correct semantics of mkostemp_safer.
Meanwhile, it is one step closer to providing O_CLOEXEC support
to open, as well as implementing portions of fcntl for mingw.
* lib/cloexec.h (dup_cloexec): New prototype. Add copyright
header and comments.
* lib/cloexec.c (set_cloexec_flag): Add comments.
(dup_cloexec): New function, with mingw implementation borrowed
from...
* lib/w32spawn.h (dup_noinherit): ...here.
* modules/execute (Depends-on): Add cloexec.
* modules/pipe (Depends-on): Likewise.
* modules/cloexec (Depends-on): Add dup2.
* modules/cloexec-tests (Files): New file.
* tests/test-cloexec.c: Likewise.
Signed-off-by: Eric Blake <ebb9@byu.net >
2009-12-05 14:29:23 -07:00
Eric Blake
ddd625ddd0
dup2: work around mingw and cygwin 1.5 bug
...
* m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
* modules/unistd (Makefile.am): Substitute it.
* lib/unistd.in.h (dup2): Declare the replacement.
* lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
* doc/posix-functions/dup2.texi (dup2): Document the bugs.
* lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
* modules/execute (Depends-on): Add dup2.
* modules/fseterr (Depends-on): Likewise.
* modules/pipe (Depends-on): Likewise.
* modules/posix_spawn-internal (Depends-on): Likewise.
Signed-off-by: Eric Blake <ebb9@byu.net >
2009-07-21 07:08:06 -06:00
Bruno Haible
d629f6d286
Use the posix_spawn or its replacement on all Unix platforms.
2009-01-26 00:12:36 +01:00
Bruno Haible
60c92ef259
Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
2008-10-02 01:26:13 +02:00
Bruno Haible
22eb7728a2
New module 'environ'.
2008-02-24 16:40:15 +01:00
Bruno Haible
eb750bc6d4
Include <unistd.h> unconditionally.
2006-04-24 11:38:06 +00:00
Paul Eggert
abe574726d
Support programs like Emacs that use gnulib but not gettext.
...
* MODULES.html.sh (Internationalization functions): Add gettext-h.
* modules/gettext-h: New file.
* modules/gettext (Files): Remove lib/gettext.h.
(Depends-on): Add gettext-h.
(Makefile.am): Remove lib_SOURCES.
* modules/argmatch, modules/c-stack, modules/closeout:
* modules/copy-file, modules/csharpcomp, modules/csharpexec:
* modules/execute, modules/file-type, modules/getaddrinfo:
* modules/getopt, modules/human, modules/javacomp:
* modules/javaexec, modules/mkdir-p, modules/obstack:
* modules/openat, modules/pagealign_alloc, modules/pipe:
* modules/quotearg, modules/regex, modules/rpmatch:
* modules/unicodeio, modules/userspec, modules/version-etc:
* modules/wait-process, modules/xalloc-die, modules/xmemcoll:
* modules/xsetenv:
Depend on gettext-h, not gettext.
2005-07-06 15:58:47 +00:00
Bruno Haible
5143f4e91f
Add a license tag to every module.
2004-09-22 15:11:04 +00:00
Bruno Haible
93d436c91e
New module 'execute'.
2004-01-27 11:10:45 +00:00