diff options
-rw-r--r-- | sysdeps/unix/sysv/linux/pathconf.c | 7 |
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); |