You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by jg...@apache.org on 2008/11/12 02:41:02 UTC
svn commit: r713243 - in
/activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src:
main/csharp/OpenWire/OpenWireFormat.cs
test/csharp/OpenWire/BooleanStreamTest.cs
Author: jgomes
Date: Tue Nov 11 17:41:02 2008
New Revision: 713243
URL: http://svn.apache.org/viewvc?rev=713243&view=rev
Log:
Fixed deadlock issue with OpenWireFormat marshalling and unmarshalling.
Fixed TestBooleanMarshalling exception handling test.
Fixes [AMQNET-122]. (See https://issues.apache.org/activemq/browse/AMQNET-122)
Modified:
activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/OpenWire/OpenWireFormat.cs
activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/OpenWire/BooleanStreamTest.cs
Modified: activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/OpenWire/OpenWireFormat.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/OpenWire/OpenWireFormat.cs?rev=713243&r1=713242&r2=713243&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/OpenWire/OpenWireFormat.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/OpenWire/OpenWireFormat.cs Tue Nov 11 17:41:02 2008
@@ -224,17 +224,18 @@
public Object Unmarshal(BinaryReader dis)
{
- lock(this.marshalLock)
+ // lets ignore the size of the packet
+ if(!sizePrefixDisabled)
{
- // lets ignore the size of the packet
- if(!sizePrefixDisabled)
- {
- dis.ReadInt32();
- }
+ dis.ReadInt32();
+ }
- // first byte is the type of the packet
- byte dataType = dis.ReadByte();
- if(dataType != NULL_TYPE)
+ // first byte is the type of the packet
+ byte dataType = dis.ReadByte();
+
+ if(dataType != NULL_TYPE)
+ {
+ lock(this.marshalLock)
{
BaseDataStreamMarshaller dsm = dataMarshallers[dataType & 0xFF];
if(null == dsm)
@@ -258,10 +259,10 @@
return data;
}
}
- else
- {
- return null;
- }
+ }
+ else
+ {
+ return null;
}
}
Modified: activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/OpenWire/BooleanStreamTest.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/OpenWire/BooleanStreamTest.cs?rev=713243&r1=713242&r2=713243&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/OpenWire/BooleanStreamTest.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/OpenWire/BooleanStreamTest.cs Tue Nov 11 17:41:02 2008
@@ -124,7 +124,7 @@
dis.ReadByte();
Assert.Fail("Should have reached the end of the stream");
}
- catch(IOException)
+ catch(EndOfStreamException)
{
}
}