From f5418129e9b863d713a229091404670f65a33f4c Mon Sep 17 00:00:00 2001 From: Helmut Pozimski Date: Tue, 1 Jan 2019 09:23:28 +0100 Subject: [PATCH] mono: update to 5.18.0.225. --- ...ool-replace-condition-with-semaphore.patch | 24 +++++++++---------- srcpkgs/mono/template | 11 ++++----- 2 files changed, 17 insertions(+), 18 deletions(-) diff --git a/srcpkgs/mono/patches/revert-threadpool-replace-condition-with-semaphore.patch b/srcpkgs/mono/patches/revert-threadpool-replace-condition-with-semaphore.patch index 3afcd4f9767..7735fc4d9d7 100644 --- a/srcpkgs/mono/patches/revert-threadpool-replace-condition-with-semaphore.patch +++ b/srcpkgs/mono/patches/revert-threadpool-replace-condition-with-semaphore.patch @@ -3,9 +3,9 @@ Upstream: https://github.com/mono/mono/issues/7167 Reason: reverts replacing condition variables with a semaphore in the threading code which caused a severe regression that introduced a 5-60 second hang while compiling code -From ecd1658935128e700962ff440dd460c31403bec7 Mon Sep 17 00:00:00 2001 +From 24bc6365883d17809b9015849d79a623336b00df Mon Sep 17 00:00:00 2001 From: Helmut Pozimski -Date: Tue, 9 Oct 2018 12:46:03 +0200 +Date: Tue, 1 Jan 2019 09:17:59 +0100 Subject: [PATCH] Revert "[threadpool] Replace parked_threads condition variable by a semaphore (#6222)" @@ -15,7 +15,7 @@ This reverts commit 5f5c5e97a08f7086d7c18af37352c4a03dc4c0d1. 1 file changed, 52 insertions(+), 47 deletions(-) diff --git a/mono/metadata/threadpool-worker-default.c b/mono/metadata/threadpool-worker-default.c -index 33870a6de15..c5e8529a67f 100644 +index 96372a15f30..59f33cba149 100644 --- mono/metadata/threadpool-worker-default.c +++ mono/metadata/threadpool-worker-default.c @@ -131,8 +131,9 @@ typedef struct { @@ -81,7 +81,7 @@ index 33870a6de15..c5e8529a67f 100644 { gboolean timeout = FALSE; gboolean interrupted = FALSE; -- gint32 old, new; +- gint32 old, new_; mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_THREADPOOL, "[%p] worker parking", GUINT_TO_POINTER (MONO_NATIVE_THREAD_ID_TO_UINT (mono_native_thread_id_get ()))); @@ -113,8 +113,8 @@ index 33870a6de15..c5e8529a67f 100644 - g_assert (old >= G_MININT32); + worker.parked_threads_count += 1; -- new = old + 1; -- } while (mono_atomic_cas_i32 (&worker.parked_threads_count, new, old) != old); +- new_ = old + 1; +- } while (mono_atomic_cas_i32 (&worker.parked_threads_count, new_, old) != old); + mono_thread_info_install_interrupt (worker_wait_interrupt, NULL, &interrupted); + if (interrupted) + goto done; @@ -140,8 +140,8 @@ index 33870a6de15..c5e8529a67f 100644 - g_assert (old > G_MININT32); + mono_thread_info_uninstall_interrupt (&interrupted); -- new = old - 1; -- } while (mono_atomic_cas_i32 (&worker.parked_threads_count, new, old) != old); +- new_ = old - 1; +- } while (mono_atomic_cas_i32 (&worker.parked_threads_count, new_, old) != old); - } +done: + worker.parked_threads_count -= 1; @@ -162,7 +162,7 @@ index 33870a6de15..c5e8529a67f 100644 worker_try_unpark (void) { - gboolean res = TRUE; -- gint32 old, new; +- gint32 old, new_; + gboolean res = FALSE; mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_THREADPOOL, "[%p] try unpark worker", @@ -177,8 +177,8 @@ index 33870a6de15..c5e8529a67f 100644 - break; - } - -- new = old - 1; -- } while (mono_atomic_cas_i32 (&worker.parked_threads_count, new, old) != old); +- new_ = old - 1; +- } while (mono_atomic_cas_i32 (&worker.parked_threads_count, new_, old) != old); - - if (res) - mono_coop_sem_post (&worker.parked_threads_sem); @@ -192,5 +192,5 @@ index 33870a6de15..c5e8529a67f 100644 mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_THREADPOOL, "[%p] try unpark worker, success? %s", GUINT_TO_POINTER (MONO_NATIVE_THREAD_ID_TO_UINT (mono_native_thread_id_get ())), res ? "yes" : "no"); -- -2.19.1 +2.20.1 diff --git a/srcpkgs/mono/template b/srcpkgs/mono/template index 5488c771401..385e7108d5b 100644 --- a/srcpkgs/mono/template +++ b/srcpkgs/mono/template @@ -1,9 +1,7 @@ # Template file for 'mono' pkgname=mono -version=5.16.0.220 -revision=2 -wrksrc="mono-${version}" -lib32disabled=yes +version=5.18.0.225 +revision=1 build_style=gnu-configure configure_args="--disable-system-aot" # XXX: figure out how to split this up into subpkgs. @@ -12,10 +10,11 @@ makedepends="zlib-devel libX11-devel libgdiplus-devel" depends="ca-certificates python" short_desc="Free implementation of the .NET platform including runtime and compiler" maintainer="Helmut Pozimski " -homepage="https://www.mono-project.com" license="MIT, BSD-3-Clause, GPL-2.0-or-later, LGPL-2.0-or-later, MPL-1.1" +homepage="https://www.mono-project.com" distfiles="https://download.mono-project.com/sources/mono/${pkgname}-${version}.tar.bz2" -checksum=f420867232b426c062fa182256a66b29efa92992c119847359cdd1ab75af8de3 +checksum=91aa3e8a12aaf94760a092866abc5c5f1f437ecd0a97bedfff857c439aa7a87f +lib32disabled=yes case "$XBPS_TARGET_MACHINE" in *-musl) configure_args+=" --disable-boehm --without-sigaltstack" ;;