diff options
-rw-r--r-- | src/posix-io.c | 13 |
1 files changed, 13 insertions, 0 deletions
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 <stdio.h> #include <stdlib.h> +#ifdef HAVE_STDINT_H +# include <stdint.h> +#endif #include <string.h> #include <assert.h> #include <errno.h> @@ -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; } |