Author: gnodet
Date: Tue Sep 21 12:02:31 2010
New Revision: 999360

URL: http://svn.apache.org/viewvc?rev=999360&view=rev
Log:
[KARAF-189] Java endorsed dirs on AIX (IBM JVM)

Switched SecurityManagerEx to lazy initialization for IBM Java 6 compatibility.

Modified:
    karaf/branches/karaf-2.0.x/exception/src/main/java/java/lang/Exception.java

Modified: 
karaf/branches/karaf-2.0.x/exception/src/main/java/java/lang/Exception.java
URL: 
http://svn.apache.org/viewvc/karaf/branches/karaf-2.0.x/exception/src/main/java/java/lang/Exception.java?rev=999360&r1=999359&r2=999360&view=diff
==============================================================================
--- karaf/branches/karaf-2.0.x/exception/src/main/java/java/lang/Exception.java 
(original)
+++ karaf/branches/karaf-2.0.x/exception/src/main/java/java/lang/Exception.java 
Tue Sep 21 12:02:31 2010
@@ -30,7 +30,9 @@ package java.lang;
 public class Exception extends Throwable {
     private static final long serialVersionUID = -3387516993124229948L;
 
-    private transient Class[] classContext = sm.getThrowableContext(this);
+    private static volatile SecurityManagerEx sm;
+
+    private transient Class[] classContext = 
SecurityManagerEx.getSm().getThrowableContext(this);
 
     /**
      * Constructs a new {...@code Exception} that includes the current stack 
trace.
@@ -78,10 +80,16 @@ public class Exception extends Throwable
         return classContext;
     }
 
-    private static final SecurityManagerEx sm = new SecurityManagerEx();
-
-    static class SecurityManagerEx extends SecurityManager
+    private static class SecurityManagerEx extends SecurityManager
     {
+
+        private static SecurityManagerEx getSm() {
+            if (sm == null) {
+                sm = new SecurityManagerEx();
+            }
+            return sm;
+        }
+
         public Class[] getClassContext()
         {
             return super.getClassContext();


Reply via email to