aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authorMattias Rehnberg <Mattias.Rehnberg@home.se>2004-11-06 16:52:00 +0100
committerMark Wielaard <mark@gcc.gnu.org>2004-11-06 15:52:00 +0000
commit03e9b84966702f926adfbf2c1cfe0cce0a7e72ae (patch)
tree3428d2857f98daedbe65eb503939fd740fdec28a /libjava
parenta036c6f739855646b7caaeae7b5f6b425bcaf59b (diff)
downloadgcc-03e9b84966702f926adfbf2c1cfe0cce0a7e72ae.zip
gcc-03e9b84966702f926adfbf2c1cfe0cce0a7e72ae.tar.gz
gcc-03e9b84966702f926adfbf2c1cfe0cce0a7e72ae.tar.bz2
2004-11-06 Mattias Rehnberg <Mattias.Rehnberg@home.se>
* java/io/Vector.java (writeObject): New function to serialized output thread safe. * java/io/ObjectOutputStream.java (writeObject): Move the assignment of the class handle to after the assignment of class descriptor handle. From-SVN: r90175
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog9
-rw-r--r--libjava/java/io/ObjectOutputStream.java2
-rw-r--r--libjava/java/util/Vector.java17
3 files changed, 27 insertions, 1 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 29ea613..06fb5bd 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,12 @@
+2004-11-06 Mattias Rehnberg <Mattias.Rehnberg@home.se>
+
+ * java/io/Vector.java
+ (writeObject): New function to serialized output thread safe.
+
+ * java/io/ObjectOutputStream.java
+ (writeObject): Move the assignment of the class handle to after
+ the assignment of class descriptor handle.
+
2004-11-06 Robert Schuster <thebohemian@gmx.net>
Fixes documentation and indentation
diff --git a/libjava/java/io/ObjectOutputStream.java b/libjava/java/io/ObjectOutputStream.java
index f66cddd..cef8a27 100644
--- a/libjava/java/io/ObjectOutputStream.java
+++ b/libjava/java/io/ObjectOutputStream.java
@@ -220,7 +220,6 @@ public class ObjectOutputStream extends OutputStream
{
Class cl = (Class)obj;
ObjectStreamClass osc = ObjectStreamClass.lookupForClassObject(cl);
- assignNewHandle(obj);
realOutput.writeByte(TC_CLASS);
if (!osc.isProxyClass)
{
@@ -241,6 +240,7 @@ public class ObjectOutputStream extends OutputStream
writeObject(osc.getSuper());
}
+ assignNewHandle(obj);
break;
}
diff --git a/libjava/java/util/Vector.java b/libjava/java/util/Vector.java
index d72788e..edc14a4 100644
--- a/libjava/java/util/Vector.java
+++ b/libjava/java/util/Vector.java
@@ -37,6 +37,9 @@ exception statement from your version. */
package java.util;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.lang.reflect.Array;
@@ -912,4 +915,18 @@ public class Vector extends AbstractList
if (index >= elementCount)
throw new ArrayIndexOutOfBoundsException(index + " >= " + elementCount);
}
+
+ /**
+ * Serializes this object to the given stream.
+ *
+ * @param s the stream to write to
+ * @throws IOException if the underlying stream fails
+ * @serialData just calls default write function
+ */
+ private synchronized void writeObject(ObjectOutputStream s)
+ throws IOException
+ {
+ s.defaultWriteObject();
+ }
+
}