aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/lang
diff options
context:
space:
mode:
authorTom Tromey <tromey@cygnus.com>1999-04-12 12:34:41 +0000
committerTom Tromey <tromey@gcc.gnu.org>1999-04-12 12:34:41 +0000
commit69d5914bd0daac6f06fcf5c98eca53674a500dcb (patch)
tree5a6ff6239742067af3dc7d23a0bdf76018a495aa /libjava/java/lang
parented45de98388acec5ed80b3a664c05b8b43f842ab (diff)
downloadgcc-69d5914bd0daac6f06fcf5c98eca53674a500dcb.zip
gcc-69d5914bd0daac6f06fcf5c98eca53674a500dcb.tar.gz
gcc-69d5914bd0daac6f06fcf5c98eca53674a500dcb.tar.bz2
natSystem.cc (SystemClass): New define.
* java/lang/natSystem.cc (SystemClass): New define. (init_properties): Synchronize. From-SVN: r26372
Diffstat (limited to 'libjava/java/lang')
-rw-r--r--libjava/java/lang/natSystem.cc13
1 files changed, 10 insertions, 3 deletions
diff --git a/libjava/java/lang/natSystem.cc b/libjava/java/lang/natSystem.cc
index 5f613d5..6ceb642 100644
--- a/libjava/java/lang/natSystem.cc
+++ b/libjava/java/lang/natSystem.cc
@@ -45,6 +45,9 @@ details. */
#include <java/io/PrintStream.h>
#include <java/io/InputStream.h>
+#define SystemClass _CL_Q34java4lang6System
+extern java::lang::Class SystemClass;
+
#if defined (ECOS)
@@ -175,9 +178,13 @@ java::lang::System::identityHashCode (jobject obj)
void
java::lang::System::init_properties (void)
{
- if (prop_init)
- return;
- prop_init = true;
+ {
+ // We only need to synchronize around this gatekeeper.
+ JvSynchronize sync (&SystemClass);
+ if (prop_init)
+ return;
+ prop_init = true;
+ }
properties = new java::util::Properties ();
// A convenience define.