changeset 17930:71aba7a74c52

Android doesn't define RLIM_SAVED_* Portability problem reported by Kevin Cernekee in: http://lists.gnu.org/archive/html/bug-gnulib/2015-02/msg00122.html * doc/posix-headers/sys_resource.texi (sys/resource.h): Mention the portability problem. * lib/getdtablesize.c (RLIM_SAVED_CUR, RLIM_SAVED_MAX): Define if not defined. * m4/dup2.m4 (gl_FUNC_DUP2): * m4/fcntl.m4 (gl_FUNC_FCNTL): Likewise.
author Paul Eggert <eggert@cs.ucla.edu>
date Sun, 22 Feb 2015 19:07:46 -0800
parents 7f19e7f2afa2
children 70199a43c7c8
files ChangeLog doc/posix-headers/sys_resource.texi lib/getdtablesize.c m4/dup2.m4 m4/fcntl.m4
diffstat 5 files changed, 38 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2015-02-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Android doesn't define RLIM_SAVED_*
+	Portability problem reported by Kevin Cernekee in:
+	http://lists.gnu.org/archive/html/bug-gnulib/2015-02/msg00122.html
+	* doc/posix-headers/sys_resource.texi (sys/resource.h):
+	Mention the portability problem.
+	* lib/getdtablesize.c (RLIM_SAVED_CUR, RLIM_SAVED_MAX):
+	Define if not defined.
+	* m4/dup2.m4 (gl_FUNC_DUP2):
+	* m4/fcntl.m4 (gl_FUNC_FCNTL):
+	Likewise.
+
 2015-02-21  Paul Eggert  <eggert@cs.ucla.edu>
 
 	vasnprintf-posix-tests: use consistent test
--- a/doc/posix-headers/sys_resource.texi
+++ b/doc/posix-headers/sys_resource.texi
@@ -18,4 +18,8 @@
 
 Portability problems not fixed by Gnulib:
 @itemize
+@item
+On some platforms, this header does not define some or all of the
+symbolic constants required by POSIX@.  For example, Android does not
+define @code{RLIM_SAVED_CUR} or @code{RLIM_SAVED_MAX}.
 @end itemize
--- a/lib/getdtablesize.c
+++ b/lib/getdtablesize.c
@@ -89,6 +89,13 @@
 # include <limits.h>
 # include <sys/resource.h>
 
+# ifndef RLIM_SAVED_CUR
+#  define RLIM_SAVED_CUR RLIM_INFINITY
+# endif
+# ifndef RLIM_SAVED_MAX
+#  define RLIM_SAVED_MAX RLIM_INFINITY
+# endif
+
 # ifdef __CYGWIN__
   /* Cygwin 1.7.25 auto-increases the RLIMIT_NOFILE soft limit until it
      hits the compile-time constant hard limit of 3200.  We might as
--- a/m4/dup2.m4
+++ b/m4/dup2.m4
@@ -1,4 +1,4 @@
-#serial 22
+#serial 23
 dnl Copyright (C) 2002, 2005, 2007, 2009-2015 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -25,6 +25,12 @@
              #include <limits.h>
              #include <sys/resource.h>
              #include <unistd.h>
+             #ifndef RLIM_SAVED_CUR
+             # define RLIM_SAVED_CUR RLIM_INFINITY
+             #endif
+             #ifndef RLIM_SAVED_MAX
+             # define RLIM_SAVED_MAX RLIM_INFINITY
+             #endif
            ]],
            [[int result = 0;
              int bad_fd = INT_MAX;
--- a/m4/fcntl.m4
+++ b/m4/fcntl.m4
@@ -1,4 +1,4 @@
-# fcntl.m4 serial 7
+# fcntl.m4 serial 8
 dnl Copyright (C) 2009-2015 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -34,6 +34,12 @@
               #include <limits.h>
               #include <sys/resource.h>
               #include <unistd.h>
+              #ifndef RLIM_SAVED_CUR
+              # define RLIM_SAVED_CUR RLIM_INFINITY
+              #endif
+              #ifndef RLIM_SAVED_MAX
+              # define RLIM_SAVED_MAX RLIM_INFINITY
+              #endif
             ]],
             [[int result = 0;
               int bad_fd = INT_MAX;