summaryrefslogtreecommitdiff
path: root/dev-util/cmake/files/cmake-3.17.4-uv-check-return.patch
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-09-16 09:32:48 +0100
committerV3n3RiX <venerix@redcorelinux.org>2020-09-16 09:32:48 +0100
commit9ee6d97c2883d42f204a533a8bc1f4562df778fb (patch)
treeb690ddc0ca30f1472887edbb0b8313629bfcbbb2 /dev-util/cmake/files/cmake-3.17.4-uv-check-return.patch
parentb17a3ef12038de50228bade1f05502c74e135321 (diff)
gentoo resync : 16.09.2020
Diffstat (limited to 'dev-util/cmake/files/cmake-3.17.4-uv-check-return.patch')
-rw-r--r--dev-util/cmake/files/cmake-3.17.4-uv-check-return.patch46
1 files changed, 46 insertions, 0 deletions
diff --git a/dev-util/cmake/files/cmake-3.17.4-uv-check-return.patch b/dev-util/cmake/files/cmake-3.17.4-uv-check-return.patch
new file mode 100644
index 000000000000..ab4a45a3ec1e
--- /dev/null
+++ b/dev-util/cmake/files/cmake-3.17.4-uv-check-return.patch
@@ -0,0 +1,46 @@
+From 0fddcc1e5bd8e4672b09e2478edb72e5c0338f1b Mon Sep 17 00:00:00 2001
+From: Brad King <brad.king@kitware.com>
+Date: Wed, 1 Jul 2020 16:23:56 -0400
+Subject: [PATCH] cmake: Tolerate nullptr from uv_default_loop
+
+`uv_default_loop()` can return `nullptr` when running on a Linux kernel
+configured without `CONFIG_EVENTFD`.
+
+Fixes: #20899
+---
+ Source/cmSystemTools.cxx | 4 +++-
+ Source/cmakemain.cxx | 4 +++-
+ 2 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx
+index be799b0402..2f08b840cd 100644
+--- a/Source/cmSystemTools.cxx
++++ b/Source/cmSystemTools.cxx
+@@ -823,7 +823,9 @@ void cmSystemTools::InitializeLibUV()
+ // Perform libuv one-time initialization now, and then un-do its
+ // global _fmode setting so that using libuv does not change the
+ // default file text/binary mode. See libuv issue 840.
+- uv_loop_close(uv_default_loop());
++ if (uv_loop_t* loop = uv_default_loop()) {
++ uv_loop_close(loop);
++ }
+ # ifdef _MSC_VER
+ _set_fmode(_O_TEXT);
+ # else
+diff --git a/Source/cmakemain.cxx b/Source/cmakemain.cxx
+index 75280fb8a5..e0c17f8d54 100644
+--- a/Source/cmakemain.cxx
++++ b/Source/cmakemain.cxx
+@@ -717,6 +717,8 @@ int main(int ac, char const* const* av)
+ #ifndef CMAKE_BOOTSTRAP
+ cmDynamicLoader::FlushCache();
+ #endif
+- uv_loop_close(uv_default_loop());
++ if (uv_loop_t* loop = uv_default_loop()) {
++ uv_loop_close(loop);
++ }
+ return ret;
+ }
+--
+GitLab
+