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
This commit is contained in:
Mattias Rehnberg 2004-11-06 16:52:00 +01:00 committed by Mark Wielaard
parent a036c6f739
commit 03e9b84966
3 changed files with 27 additions and 1 deletions

View File

@ -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

View File

@ -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;
}

View File

@ -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();
}
}