From 1f9bc3be8ae7d6ded9bae8fd902fef6bff90f651 Mon Sep 17 00:00:00 2001 From: Michi Henning Date: Tue, 26 Apr 2005 04:56:19 +0000 Subject: Made finalizers thread-safe. --- java/src/Ice/_ObjectDelM.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'java/src/Ice/_ObjectDelM.java') diff --git a/java/src/Ice/_ObjectDelM.java b/java/src/Ice/_ObjectDelM.java index 26c44951351..718183e7c79 100644 --- a/java/src/Ice/_ObjectDelM.java +++ b/java/src/Ice/_ObjectDelM.java @@ -237,13 +237,16 @@ public class _ObjectDelM implements _ObjectDel finalize() throws Throwable { - while(__outgoingCache != null) - { - IceInternal.Outgoing next = __outgoingCache.next; - __outgoingCache.destroy(); - __outgoingCache.next = null; - __outgoingCache = next; - } + synchronized(__outgoingMutex) + { + while(__outgoingCache != null) + { + IceInternal.Outgoing next = __outgoingCache.next; + __outgoingCache.destroy(); + __outgoingCache.next = null; + __outgoingCache = next; + } + } } private IceInternal.Outgoing __outgoingCache; -- cgit v1.2.3