summaryrefslogtreecommitdiffstats
path: root/libjava/java/lang/ref/Reference.java
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2003-09-20 02:57:07 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2003-09-20 02:57:07 +0000
commit8c970a04e2a2223363c14af660cd53fcfa8a1cc0 (patch)
tree599476f4a666c655364b56af95e2969aeb26d471 /libjava/java/lang/ref/Reference.java
parent939852640aadc1f6ce76e15efba37d836d4261be (diff)
downloadppe42-gcc-8c970a04e2a2223363c14af660cd53fcfa8a1cc0.tar.gz
ppe42-gcc-8c970a04e2a2223363c14af660cd53fcfa8a1cc0.zip
2003-09-19 David Daney <ddaney@avtrex.com>
* java/lang/ref/Reference.java (clear): Set referent to null and synchronize. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71597 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java/lang/ref/Reference.java')
-rw-r--r--libjava/java/lang/ref/Reference.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/libjava/java/lang/ref/Reference.java b/libjava/java/lang/ref/Reference.java
index 2f6235e3ba8..a6385a81617 100644
--- a/libjava/java/lang/ref/Reference.java
+++ b/libjava/java/lang/ref/Reference.java
@@ -176,7 +176,12 @@ public abstract class Reference
*/
public void clear()
{
- cleared = true;
+ // Must synchronize so changes are visible in finalizer thread.
+ synchronized (lock)
+ {
+ referent = null;
+ cleared = true;
+ }
}
/**
OpenPOWER on IntegriCloud