From: David Daney Date: Sat, 20 Sep 2003 02:57:07 +0000 (+0000) Subject: Reference.java (clear): Set referent to null and synchronize. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2f54a73fc1a1466dbe576bfe0aab80cea9d4ff93;p=gcc.git Reference.java (clear): Set referent to null and synchronize. 2003-09-19 David Daney * java/lang/ref/Reference.java (clear): Set referent to null and synchronize. From-SVN: r71597 --- diff --git a/libjava/ChangeLog b/libjava/ChangeLog index a7648b38e24..4d5c52ec368 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,8 @@ +2003-09-19 David Daney + + * java/lang/ref/Reference.java (clear): Set referent to null and + synchronize. + 2003-09-19 Michael Koch * gnu/java/nio/NIODatagramSocket.java, 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; + } } /**