aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sysdeps/unix/sysv/linux/pathconf.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/sysdeps/unix/sysv/linux/pathconf.c b/sysdeps/unix/sysv/linux/pathconf.c
index 375d672..52610a1 100644
--- a/sysdeps/unix/sysv/linux/pathconf.c
+++ b/sysdeps/unix/sysv/linux/pathconf.c
@@ -37,6 +37,7 @@ __pathconf (const char *file, int name)
{
struct statfs fsbuf;
int fd;
+ int flags;
switch (name)
{
@@ -53,7 +54,11 @@ __pathconf (const char *file, int name)
return __statfs_chown_restricted (__statfs (file, &fsbuf), &fsbuf);
case _PC_PIPE_BUF:
- fd = open_not_cancel_2 (file, O_RDONLY|O_NONBLOCK);
+ flags = O_RDONLY|O_NONBLOCK|O_NOCTTY;
+#ifdef O_CLOEXEC
+ flags |= O_CLOEXEC;
+#endif
+ fd = open_not_cancel_2 (file, flags);
if (fd >= 0)
{
long int r = __fcntl (fd, F_GETPIPE_SZ);