aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/lang/natObject.cc
diff options
context:
space:
mode:
authorMorgan Deters <mdeters@morgandeters.com>2005-08-12 16:40:32 +0000
committerTom Tromey <tromey@gcc.gnu.org>2005-08-12 16:40:32 +0000
commit25c76a15f799287c8d492ae4b4ca49092606517f (patch)
treec5127fb2fa4d5d600551f3bcb5c032a6cd998b72 /libjava/java/lang/natObject.cc
parent2693c0b0b38d7029eec000c8264b13eaf28bd78c (diff)
downloadgcc-25c76a15f799287c8d492ae4b4ca49092606517f.zip
gcc-25c76a15f799287c8d492ae4b4ca49092606517f.tar.gz
gcc-25c76a15f799287c8d492ae4b4ca49092606517f.tar.bz2
re PR libgcj/23353 (clone() copies internal lock data with hash synchronization off)
2005-08-12 Morgan Deters <mdeters@morgandeters.com> PR libgcj/23353: * java/lang/natObject.cc (clone): Clear sync_info. From-SVN: r103039
Diffstat (limited to 'libjava/java/lang/natObject.cc')
-rw-r--r--libjava/java/lang/natObject.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/libjava/java/lang/natObject.cc b/libjava/java/lang/natObject.cc
index aa79500..87f2044 100644
--- a/libjava/java/lang/natObject.cc
+++ b/libjava/java/lang/natObject.cc
@@ -1,6 +1,6 @@
// natObject.cc - Implementation of the Object class.
-/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2005 Free Software Foundation
This file is part of libgcj.
@@ -104,6 +104,11 @@ java::lang::Object::clone (void)
}
memcpy ((void *) r, (void *) this, size);
+#ifndef JV_HASH_SYNCHRONIZATION
+ // Guarantee that the locks associated to the two objects are
+ // distinct.
+ r->sync_info = NULL;
+#endif
return r;
}