diff options
author | Ulrich Drepper <drepper@redhat.com> | 2010-07-06 07:48:23 -0700 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2010-07-06 07:48:23 -0700 |
commit | 8a492a675e566dc1e666df0a86cbf541442cb179 (patch) | |
tree | f9a6bec451d68233170d2ed8a13b81cf0b7e27ae | |
parent | 03e87550e3be3d008b1eb6174d74d10a51af6e2e (diff) | |
download | glibc-8a492a675e566dc1e666df0a86cbf541442cb179.zip glibc-8a492a675e566dc1e666df0a86cbf541442cb179.tar.gz glibc-8a492a675e566dc1e666df0a86cbf541442cb179.tar.bz2 |
Implement _PC_PIPE_BUF.
Now that the kernel has appropriate support we can implement this
fpathconf command correctly.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/fpathconf.c | 11 |
2 files changed, 15 insertions, 1 deletions
@@ -1,3 +1,8 @@ +2010-07-06 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/fpathconf.c (__fpathconf): Implement + _PC_PIPE_BUF using F_GETPIPE_SZ. + 2010-07-02 Ulrich Drepper <drepper@redhat.com> * elf/Makefile: Fix linking for a few tests to make recent linker diff --git a/sysdeps/unix/sysv/linux/fpathconf.c b/sysdeps/unix/sysv/linux/fpathconf.c index 2701c9e..67dc384 100644 --- a/sysdeps/unix/sysv/linux/fpathconf.c +++ b/sysdeps/unix/sysv/linux/fpathconf.c @@ -1,5 +1,6 @@ /* Get file-specific information about descriptor FD. Linux version. - Copyright (C) 1991,1995,1996,1998-2003,2008 Free Software Foundation, Inc. + Copyright (C) 1991,1995,1996,1998-2003,2008,2010 + Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -17,6 +18,7 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ +#include <fcntl.h> #include "pathconf.h" static long int posix_fpathconf (int fd, int name); @@ -33,6 +35,7 @@ __fpathconf (fd, name) int name; { struct statfs fsbuf; + int r; switch (name) { @@ -48,6 +51,12 @@ __fpathconf (fd, name) case _PC_CHOWN_RESTRICTED: return __statfs_chown_restricted (__fstatfs (fd, &fsbuf), &fsbuf); + case _PC_PIPE_BUF: + r = fcntl (fd, F_GETPIPE_SZ); + if (r > 0) + return r; + /* FALLTHROUGH */ + default: return posix_fpathconf (fd, name); } |