aboutsummaryrefslogtreecommitdiffstats
path: root/java/jdk15
diff options
context:
space:
mode:
authorglewis <glewis@FreeBSD.org>2006-06-17 05:29:53 +0800
committerglewis <glewis@FreeBSD.org>2006-06-17 05:29:53 +0800
commitcc2b04e843757ee37ae69721248b659902e5bada (patch)
treee757a4a89b7e55b3475bc6d89b242698e472ee8a /java/jdk15
parente452ae4d4767b5de2db886e3fb6680b24bc7a1a5 (diff)
downloadfreebsd-ports-gnome-cc2b04e843757ee37ae69721248b659902e5bada.tar.gz
freebsd-ports-gnome-cc2b04e843757ee37ae69721248b659902e5bada.tar.zst
freebsd-ports-gnome-cc2b04e843757ee37ae69721248b659902e5bada.zip
. Work around a thread cache problem that caused javah to crash with an
Internal Error. Submitted by: Kurt Miller <kurt@intricatesoftware.com> Sponsored by: The FreeBSD Foundation
Diffstat (limited to 'java/jdk15')
-rw-r--r--java/jdk15/files/patch-hotspot::vm::thread_bsd.inline.hpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/java/jdk15/files/patch-hotspot::vm::thread_bsd.inline.hpp b/java/jdk15/files/patch-hotspot::vm::thread_bsd.inline.hpp
new file mode 100644
index 000000000000..794d795d04a4
--- /dev/null
+++ b/java/jdk15/files/patch-hotspot::vm::thread_bsd.inline.hpp
@@ -0,0 +1,16 @@
+$FreeBSD$
+
+--- ../../hotspot/src/os/bsd/vm/thread_bsd.inline.hpp.orig Thu Jun 15 17:58:02 2006
++++ ../../hotspot/src/os/bsd/vm/thread_bsd.inline.hpp Thu Jun 15 17:59:19 2006
+@@ -19,7 +19,10 @@
+
+ uintptr_t raw = pd_raw_thread_id();
+ int ix = pd_cache_index(raw);
+-#ifdef __OpenBSD__
++// XXXBSD: disable fast case. there is a race condition where the
++// fast case returns a different thread from the slow case and has
++// been seen on both OpenBSD and FreeBSD.
++#if 1
+ return ThreadLocalStorage::get_thread_via_cache_slowly(raw, ix);
+ #else
+ Thread *Candidate = ThreadLocalStorage::_get_thread_cache[ix];