diff options
author | Mattias Rehnberg <Mattias.Rehnberg@home.se> | 2004-11-06 16:52:00 +0100 |
---|---|---|
committer | Mark Wielaard <mark@gcc.gnu.org> | 2004-11-06 15:52:00 +0000 |
commit | 03e9b84966702f926adfbf2c1cfe0cce0a7e72ae (patch) | |
tree | 3428d2857f98daedbe65eb503939fd740fdec28a /libjava | |
parent | a036c6f739855646b7caaeae7b5f6b425bcaf59b (diff) | |
download | gcc-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/ChangeLog | 9 | ||||
-rw-r--r-- | libjava/java/io/ObjectOutputStream.java | 2 | ||||
-rw-r--r-- | libjava/java/util/Vector.java | 17 |
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(); + } + } |