From 937a064e3217ad35dff63cabf16f5df67dfa0954 Mon Sep 17 00:00:00 2001 From: megacz Date: Fri, 30 Jan 2004 06:49:23 +0000 Subject: [PATCH] 2002/07/20 04:07:26 darcs-hash:20040130064923-2ba56-608df83e8f16ce3393474e260e87df99163046a5.gz --- CHANGES | 4 +++- src/org/xwt/TinySSL.java | 10 +++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index e0eb78b..d966bad 100644 --- a/CHANGES +++ b/CHANGES @@ -302,4 +302,6 @@ 18-Jul megacz HTTP.java: Basic Proxy-Authorization support -19-Jul megacz POSIX.java: font fix \ No newline at end of file +19-Jul megacz POSIX.java: font fix + +19-Jul megacz TinySSL.java: workaround for a GCJ bug \ No newline at end of file diff --git a/src/org/xwt/TinySSL.java b/src/org/xwt/TinySSL.java index d036d33..637e41c 100644 --- a/src/org/xwt/TinySSL.java +++ b/src/org/xwt/TinySSL.java @@ -1479,7 +1479,15 @@ public class TinySSL extends Socket { volatile boolean stop = false; byte counter = 0; entropySpinner() { start(); } - public void run() { while (!stop) counter++; } + public void run() { + while (true) { + // without this synchronization, GCJ will over-optimize this loop into an infinite loop. Argh. + synchronized(this) { + counter++; + if (stop) return; + } + } + } } static { -- 1.7.10.4