changeset 1253:fb1af4d960b1

Merge
author asaha
date Tue, 14 Oct 2014 12:11:29 -0700
parents e8580e9ebd20 0b294e063da7
children 4bc2c354721f
files .hgtags
diffstat 4 files changed, 22 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/.hgtags	Tue Oct 14 10:33:20 2014 -0700
+++ b/.hgtags	Tue Oct 14 12:11:29 2014 -0700
@@ -472,6 +472,9 @@
 b7f66b9f9e8e099428ed7640a184f6135b77e40d jdk7u65-b18
 50ddba8882e7e95150418a30bfc3ee62e3c28c6c jdk7u65-b19
 dae3f20d2306622e39606d0dc967147de174afce jdk7u65-b32
+1a3aa4637b80fabbd069ae88c241efcb3520fc49 jdk7u80-b00
+df1decc820934ad8bf91c853e81c88d4f7590e25 jdk7u80-b01
+2444fa7df7e3e07f2533f6c875c3a8e408048f6c jdk7u80-b02
 ac05dfedf008e83c2044666a70635cf82e932e41 jdk7u65-b20
 244756837ab4b214decd0e6f26b0071a483f143f jdk7u67-b01
 50ddba8882e7e95150418a30bfc3ee62e3c28c6c jdk7u65-b40
@@ -527,5 +530,11 @@
 0466441d71122c9af252ec17f597f228dbf64578 jdk7u75-b01
 9aa7fe309fa584ff782ab9d557632321747ba11e jdk7u75-b02
 c734b5009fc92667af13c36b1f23e153a3e2dfca jdk7u75-b03
+f55967c261230a4fcc8d71ecfe58f2f47ea50393 jdk7u75-b04
+2d6f594ce6c5dafc1ad9a9368186817212120d84 jdk7u76-b00
+b4d4ec688a281a362524291f2cff15c59b85dbb5 jdk7u76-b01
+c24e65a16f334611f95a8ae46769375b20818b74 jdk7u76-b02
+a1de50d45daa0728ea269a9e19e7d83208eec894 jdk7u76-b03
+806fb93eff9b30b3b36b46e04ef25fd62b28e674 jdk7u76-b04
 f55967c261230a4fcc8d71ecfe58f2f47ea50393 jdk7u79-b00
-920ce41ebb28814d9e3a36212076acf0122ac8be jdk7u75-b04
+
--- a/src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java	Tue Oct 14 10:33:20 2014 -0700
+++ b/src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java	Tue Oct 14 12:11:29 2014 -0700
@@ -587,7 +587,7 @@
             java.lang.Object[] objholder = new java.lang.Object[1];
             objholder[0] = object;
             long[] longholder = new long[1];
-            TCUtility.unmarshalIn(in, typeCode, longholder, objholder);
+            TCUtility.unmarshalIn(in, realType(), longholder, objholder);
             value = longholder[0];
             object = objholder[0];
             stream = null;
--- a/src/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java	Tue Oct 14 10:33:20 2014 -0700
+++ b/src/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java	Tue Oct 14 12:11:29 2014 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
@@ -35,7 +35,8 @@
 import java.io.OutputStream;
 import java.io.ObjectOutputStream;
 import java.io.ObjectOutput;
-import java.util.Hashtable;
+import java.util.Map;
+import java.util.HashMap;
 
 import org.omg.CORBA.INTERNAL;
 
@@ -49,7 +50,7 @@
      */
     private class HookPutFields extends ObjectOutputStream.PutField
     {
-        private Hashtable fields = new Hashtable();
+        private Map<String,Object> fields = new HashMap<>();
 
         /**
          * Put the value of the named boolean field into the persistent field.
@@ -140,7 +141,6 @@
     public OutputStreamHook()
         throws java.io.IOException {
         super();
-
     }
 
     public void defaultWriteObject() throws IOException {
--- a/src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelAcceptorImpl.java	Tue Oct 14 10:33:20 2014 -0700
+++ b/src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelAcceptorImpl.java	Tue Oct 14 12:11:29 2014 -0700
@@ -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()) {