OSDN Git Service

* java/lang/VMCompiler.java (compileClass): Ignore UnknownError.
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 19 Jan 2005 23:56:27 +0000 (23:56 +0000)
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 19 Jan 2005 23:56:27 +0000 (23:56 +0000)
* gnu/gcj/runtime/natSharedLibLoader.cc (finalize): Only dlclose
if 'handler' is valid.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@93927 138bc75d-0d04-0410-961f-82ee72b054a4

libjava/ChangeLog
libjava/gnu/gcj/runtime/natSharedLibLoader.cc
libjava/java/lang/VMCompiler.java

index 1eb49d7..5bab104 100644 (file)
@@ -1,3 +1,9 @@
+2005-01-19  Tom Tromey  <tromey@redhat.com>
+
+       * java/lang/VMCompiler.java (compileClass): Ignore UnknownError.
+       * gnu/gcj/runtime/natSharedLibLoader.cc (finalize): Only dlclose
+       if 'handler' is valid.
+
 2005-01-17  Tom Tromey  <tromey@redhat.com>
 
        * java/text/MessageFormat.java (scanString): Changed how quoting
index 184692e..90ed1d7 100644 (file)
@@ -1,6 +1,6 @@
 // natSharedLibLoader.cc - Implementation of SharedLibHelper native methods.
 
-/* Copyright (C) 2001, 2003, 2004  Free Software Foundation
+/* Copyright (C) 2001, 2003, 2004, 2005  Free Software Foundation
 
    This file is part of libgcj.
 
@@ -122,7 +122,8 @@ gnu::gcj::runtime::SharedLibHelper::finalize()
 {
   _Jv_FreeCoreChain ((_Jv_core_chain *) core_chain);
 #ifdef HAVE_DLOPEN
-  dlclose (handler);
+  if (handler)
+    dlclose (handler);
 #endif
 }
 
index 98efc7e..3eb4491 100644 (file)
@@ -1,5 +1,5 @@
 /* VMClassLoader.java -- Reference implementation of compiler interface
-   Copyright (C) 2004 Free Software Foundation
+   Copyright (C) 2004, 2005 Free Software Foundation
 
 This file is part of GNU Classpath.
 
@@ -202,6 +202,11 @@ final class VMCompiler
        catch (Exception _)
          {
          }
+       catch (UnknownError _)
+         {
+           // SharedLibHelper will throw UnknownError if the dlopen
+           // fails for some reason.  We ignore it and continue on.
+         }
       }
  
     if (! useCompiler || ! canUseCompiler)