changeset 898:8293bea019e3 icedtea-2.6pre02

Merge
author andrew
date Wed, 23 Apr 2014 15:10:11 +0100
parents 93adc35a9e14 (current diff) 0c93c0f28a55 (diff)
children 35fa09c49527
files .hgtags
diffstat 4 files changed, 41 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/.hgtags	Mon Apr 14 14:49:40 2014 +0100
+++ b/.hgtags	Wed Apr 23 15:10:11 2014 +0100
@@ -420,3 +420,12 @@
 d7e98ed925a3885380226f8375fe109a9a25397f jdk7u60-b03
 1a3aa4637b80fabbd069ae88c241efcb3520fc49 jdk7u60-b04
 7224b2d0d3304b9d1d783de4d35d706dc7bcd00e icedtea-2.6pre01
+753698a910167cc29c01490648a2adbcea1314cc jdk7u60-b05
+9852efe6d6b992b73fdbf59e36fb3547a9535051 jdk7u60-b06
+84a18429f247774fc7f1bc81de271da20b40845b jdk7u60-b07
+8469bc00ddca4de366b20b32d42548c882656cd8 jdk7u60-b08
+7abca119f9543489280d560dc11256d439004f0f jdk7u60-b09
+1861f1f599728c4f15a85a5980edef916552747b jdk7u60-b10
+a429ff635395688ded6c52cd21c0b4ce75e62168 jdk7u60-b11
+d581875525aaf618afe901da31d679195ee35f4b jdk7u60-b12
+2c8ba5f9487b0ac085874afd38f4c10a4127f62c jdk7u60-b13
--- a/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_pt_BR.properties	Mon Apr 14 14:49:40 2014 +0100
+++ b/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_pt_BR.properties	Wed Apr 23 15:10:11 2014 +0100
@@ -23,7 +23,7 @@
 # questions.
 #
 
-orbd.usage=Uso: {0} <op\u00E7\u00F5es> \n\nem que <op\u00E7\u00F5es> inclui:\n  -port                  porta de ativa\u00E7\u00E3o na qual o ORBD deve ser iniciado, default 1049 (opcional)\n  -defaultdb             diret\u00F3rio dos arquivos ORBD, default "./orb.db" (opcional)\n  -serverid              id do servidor para ORBD, default 1 (opcional)\n  -ORBInitialPort        porta inicial (obrigat\u00F3rio)\n  -ORBInitialHost        nome de host inicial (obrigat\u00F3rio)\n
+orbd.usage=Uso: {0} <op\u00E7\u00F5es> \n\nem que <op\u00E7\u00F5es> inclui:\n  -port                  porta de ativa\u00E7\u00E3o na qual o ORBD deve ser iniciado, padr\u00E3o 1049 (opcional)\n  -defaultdb             diret\u00F3rio dos arquivos ORBD, padr\u00E3o "./orb.db" (opcional)\n  -serverid              id do servidor para ORBD, padr\u00E3o 1 (opcional)\n  -ORBInitialPort        porta inicial (obrigat\u00F3rio)\n  -ORBInitialHost        nome de host inicial (obrigat\u00F3rio)\n
 
 servertool.usage=Uso: {0} <op\u00E7\u00F5es> \n\nem que <op\u00E7\u00F5es> inclui:\n  -ORBInitialPort        porta inicial (obrigat\u00F3rio)\n  -ORBInitialHost        nome de host inicial (obrigat\u00F3rio)\n
 servertool.banner=\n\nBem-vindo \u00E0 Ferramenta de Servidor IDL Java \ninsira os comandos no prompt \n
--- a/src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelAcceptorImpl.java	Mon Apr 14 14:49:40 2014 +0100
+++ b/src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelAcceptorImpl.java	Wed Apr 23 15:10:11 2014 +0100
@@ -253,6 +253,13 @@
             // registered with the selector.  Otherwise if the bytes
             // are read on the connection it will attempt a time stamp
             // but the cache will be null, resulting in NPE.
+
+            // A connection needs to be timestamped before putting to the cache.
+            // Otherwise the newly created connection (with 0 timestamp) could be
+            // incorrectly reclaimed by concurrent reclaim() call OR if there
+            // will be no events on this connection then it could be reclaimed
+            // by upcoming reclaim() call.
+            getConnectionCache().stampTime(connection);
             getConnectionCache().put(this, connection);
 
             if (connection.shouldRegisterServerReadEvent()) {
--- a/src/share/classes/com/sun/corba/se/spi/orb/ORB.java	Mon Apr 14 14:49:40 2014 +0100
+++ b/src/share/classes/com/sun/corba/se/spi/orb/ORB.java	Wed Apr 23 15:10:11 2014 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -170,6 +170,12 @@
     // representing LogDomain and ExceptionGroup.
     private Map wrapperMap ;
 
+    static class Holder {
+        static final PresentationManager defaultPresentationManager =
+            setupPresentationManager();
+    }
+    private static final Object pmLock = new Object();
+
     private static Map staticWrapperMap = new ConcurrentHashMap();
 
     protected MonitoringManager monitoringManager;
@@ -235,13 +241,24 @@
      */
     public static PresentationManager getPresentationManager()
     {
-        AppContext ac = AppContext.getAppContext();
-        PresentationManager pm = (PresentationManager) ac.get(PresentationManager.class);
-        if (pm == null) {
-            pm = setupPresentationManager();
-            ac.put(PresentationManager.class, pm);
+        SecurityManager sm = System.getSecurityManager();
+        if (sm != null && AppContext.getAppContexts().size() > 0) {
+            AppContext ac = AppContext.getAppContext();
+            if (ac != null) {
+                synchronized (pmLock) {
+                    PresentationManager pm =
+                        (PresentationManager) ac.get(PresentationManager.class);
+                    if (pm == null) {
+                        pm = setupPresentationManager();
+                        ac.put(PresentationManager.class, pm);
+                    }
+                    return pm;
+                }
+            }
         }
-        return pm;
+
+        // No security manager or AppContext
+        return Holder.defaultPresentationManager;
     }
 
     /** Get the appropriate StubFactoryFactory.  This