From e79199468ac54ce4fe919603ff7bada97267174f Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Fri, 15 Jan 2016 16:16:38 +0100 Subject: [PATCH] Fix possible _SC_OPEN_MAX max problem on AIX. * src/posix-io.c [HAVE_STDINT_H]: Include stdint.h. (get_max_fds): Limit returned value for too high values. -- Signed-off-by: Werner Koch --- src/posix-io.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/posix-io.c b/src/posix-io.c index ac823fc8..e49c71ec 100644 --- a/src/posix-io.c +++ b/src/posix-io.c @@ -23,6 +23,9 @@ #endif #include #include +#ifdef HAVE_STDINT_H +# include +#endif #include #include #include @@ -331,6 +334,16 @@ get_max_fds (void) fds = 1024; } + /* AIX returns INT32_MAX instead of a proper value. We assume that + * this is always an error and use a more reasonable limit. */ +#ifdef INT32_MAX + if (fds == INT32_MAX) + { + source = "aix-fix"; + fds = 1024; + } +#endif + TRACE2 (DEBUG_SYSIO, "gpgme:max_fds", 0, "max fds=%i (%s)", fds, source); return fds; }