ports/java/jdk15/files/patch-hotspot::vm::thread_bsd.inline.hpp
Greg Lewis 7084328334 . 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
2006-06-16 21:29:53 +00:00

16 lines
613 B
C++

$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];