You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2008/02/13 15:01:29 UTC

svn commit: r627416 - /incubator/qpid/branches/M2.1/java/common/src/main/java/org/apache/qpid/framing/FieldTable.java

Author: rgodfrey
Date: Wed Feb 13 06:01:26 2008
New Revision: 627416

URL: http://svn.apache.org/viewvc?rev=627416&view=rev
Log:
QPID-789 : FieldTable putDataInBuffer method not thread safe

Modified:
    incubator/qpid/branches/M2.1/java/common/src/main/java/org/apache/qpid/framing/FieldTable.java

Modified: incubator/qpid/branches/M2.1/java/common/src/main/java/org/apache/qpid/framing/FieldTable.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2.1/java/common/src/main/java/org/apache/qpid/framing/FieldTable.java?rev=627416&r1=627415&r2=627416&view=diff
==============================================================================
--- incubator/qpid/branches/M2.1/java/common/src/main/java/org/apache/qpid/framing/FieldTable.java (original)
+++ incubator/qpid/branches/M2.1/java/common/src/main/java/org/apache/qpid/framing/FieldTable.java Wed Feb 13 06:01:26 2008
@@ -898,13 +898,15 @@
         if (_encodedForm != null)
         {
 
-            if (_encodedForm.position() != 0)
+            ByteBuffer encodedForm = _encodedForm.duplicate();
+
+            if (encodedForm.position() != 0)
             {
-                _encodedForm.flip();
+                encodedForm.flip();
             }
             // _encodedForm.limit((int)getEncodedSize());
 
-            buffer.put(_encodedForm);
+            buffer.put(encodedForm);
         }
         else if (_properties != null)
         {