common: Cope with AIX problem on number of open files.
authorWerner Koch <wk@gnupg.org>
Mon, 11 May 2015 18:18:08 +0000 (20:18 +0200)
committerWerner Koch <wk@gnupg.org>
Mon, 11 May 2015 18:22:32 +0000 (20:22 +0200)
* common/exechelp-posix.c: Limit returned value for too hight values.
--

GnuPG-bug-id: 1778
Signed-off-by: Werner Koch <wk@gnupg.org>
common/exechelp-posix.c

index 1a1ff1b..8a2b3b9 100644 (file)
@@ -36,6 +36,9 @@
 
 #include <stdio.h>
 #include <stdlib.h>
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
 #include <string.h>
 #include <errno.h>
 #include <assert.h>
@@ -114,6 +117,13 @@ get_max_fds (void)
   if (max_fds == -1)
     max_fds = 256;  /* Arbitrary limit.  */
 
+  /* AIX returns INT32_MAX instead of a proper value.  We assume that
+     this is always an error and use an arbitrary limit.  */
+#ifdef INT32_MAX
+  if (max_fds == INT32_MAX)
+    max_fds = 256;
+#endif
+
   return max_fds;
 }