summaryrefslogtreecommitdiff
path: root/lib/progreloc.c
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2010-09-10 11:55:27 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2010-09-10 11:55:27 -0700
commitffb0b29997c66526985e1f4a496335d0ab4ef111 (patch)
tree855831d96cb87ac718f45362cd6bdea26cfa2ae3 /lib/progreloc.c
parent3f322af6c93f7eb4c6ce5ceb789416aae10a50bd (diff)
downloadgnulib-ffb0b29997c66526985e1f4a496335d0ab4ef111.tar.gz
fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
* doc/posix-headers/fcntl.texi (fcntl.h): Document that O_CLOEXEC is now defined to 0 if it is not defined, like other flags. Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined. Similarly for O_SEARCH; this last was already true, but not documented. * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined. * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define. * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c: Likewise. * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC is zero, not whether it is defined. * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise. * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY. * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
Diffstat (limited to 'lib/progreloc.c')
-rw-r--r--lib/progreloc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/progreloc.c b/lib/progreloc.c
index 1e27de72cb..19bbc125c4 100644
--- a/lib/progreloc.c
+++ b/lib/progreloc.c
@@ -189,7 +189,7 @@ find_executable (const char *argv0)
if (link != NULL && link[0] != '[')
return link;
if (executable_fd < 0)
- executable_fd = open ("/proc/self/exe", O_RDONLY, 0);
+ executable_fd = open ("/proc/self/exe", O_EXEC, 0);
{
char buf[6+10+5];
@@ -198,7 +198,7 @@ find_executable (const char *argv0)
if (link != NULL && link[0] != '[')
return link;
if (executable_fd < 0)
- executable_fd = open (buf, O_RDONLY, 0);
+ executable_fd = open (buf, O_EXEC, 0);
}
}
#endif