summaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
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 29ea613d006..06fb5bd1df5 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 f66cddd62de..cef8a274266 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 d72788e3018..edc14a4e99a 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();
+ }
+
}