diff options
author | Tor Lillqvist <tml@collabora.com> | 2020-12-01 21:36:05 +0200 |
---|---|---|
committer | Tor Lillqvist <tml@collabora.com> | 2020-12-01 23:31:39 +0100 |
commit | eacf5c8ff4548fa75d6d69083c16db9152ddffc6 (patch) | |
tree | 80a522e9e6fd644eaaa60dfca3afa0ab0d74fd22 /external | |
parent | a5b021561545bdda65c8233e541c2090a0243f74 (diff) |
Guard against sysconf(_SC_OPEN_MAX) returning LONG_MAX
That seems to happen in a sandboxed process on macOS, at least. This
caused an apparent hang when invoking Python, for instance simply
through Tools > Macros > Run Macro... .
Change-Id: I6bc055b44f298251ed596084538b98442c215fce
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107012
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Diffstat (limited to 'external')
-rw-r--r-- | external/python3/macos-11.patch.0 | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/external/python3/macos-11.patch.0 b/external/python3/macos-11.patch.0 index d3dbbf605639..3a3da0e99bac 100644 --- a/external/python3/macos-11.patch.0 +++ b/external/python3/macos-11.patch.0 @@ -57,3 +57,23 @@ #else #error "unknown architecture for universal build." #endif +--- Modules/_posixsubprocess.c ++++ Modules/_posixsubprocess.c +@@ -31,6 +31,8 @@ + # define SYS_getdents64 __NR_getdents64 + #endif + ++#include <limits.h> ++ + #if defined(__sun) && defined(__SVR4) + /* readdir64 is used to work around Solaris 9 bug 6395699. */ + # define readdir readdir64 +@@ -202,7 +202,7 @@ + #endif + #ifdef _SC_OPEN_MAX + local_max_fd = sysconf(_SC_OPEN_MAX); +- if (local_max_fd == -1) ++ if (local_max_fd == -1 || local_max_fd == LONG_MAX) + #endif + local_max_fd = 256; /* Matches legacy Lib/subprocess.py behavior. */ + return local_max_fd; |