Author: tabish
Date: Thu May 24 15:03:46 2012
New Revision: 1342290

URL: http://svn.apache.org/viewvc?rev=1342290&view=rev
Log:
fix for: https://issues.apache.org/jira/browse/AMQCPP-406

Modified:
    
activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/transport/tcp/TcpTransport.cpp

Modified: 
activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/transport/tcp/TcpTransport.cpp
URL: 
http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/transport/tcp/TcpTransport.cpp?rev=1342290&r1=1342289&r2=1342290&view=diff
==============================================================================
--- 
activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/transport/tcp/TcpTransport.cpp
 (original)
+++ 
activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/transport/tcp/TcpTransport.cpp
 Thu May 24 15:03:46 2012
@@ -119,32 +119,29 @@ void TcpTransport::connect( const decaf:
         int outputBufferSize = Integer::parseInt(
             properties.getProperty( "outputBufferSize", "8192" ) );
 
-        InputStream* inputStream = socket->getInputStream();
-        OutputStream* outputStream = socket->getOutputStream();
+        Pointer<InputStream> inputStream(socket->getInputStream());
+        Pointer<OutputStream> outputStream(socket->getOutputStream());
 
         // If tcp tracing was enabled, wrap the iostreams with logging streams
-        if( properties.getProperty( "transport.tcpTracingEnabled", "false" ) 
== "true" ) {
-
+        if (properties.getProperty("transport.tcpTracingEnabled", "false") == 
"true") {
             // Wrap with logging stream, we don't own the wrapped streams
-            inputStream = new LoggingInputStream( inputStream );
-            outputStream = new LoggingOutputStream( outputStream );
+            inputStream.reset(new LoggingInputStream(inputStream.release()));
+            outputStream.reset(new 
LoggingOutputStream(outputStream.release()));
 
             // Now wrap with the Buffered streams, we own the source streams
-            inputStream = new BufferedInputStream( inputStream, 
inputBufferSize, true );
-            outputStream = new BufferedOutputStream( outputStream, 
outputBufferSize, true );
-
+            inputStream.reset(new BufferedInputStream(inputStream.release(), 
inputBufferSize, true));
+            outputStream.reset(new 
BufferedOutputStream(outputStream.release(), outputBufferSize, true));
         } else {
-
             // Wrap with the Buffered streams, we don't own the source streams
-            inputStream = new BufferedInputStream( inputStream, 
inputBufferSize );
-            outputStream = new BufferedOutputStream( outputStream, 
outputBufferSize );
+            inputStream.reset(new BufferedInputStream(inputStream.release(), 
inputBufferSize));
+            outputStream.reset(new 
BufferedOutputStream(outputStream.release(), outputBufferSize));
         }
 
         // Now wrap the Buffered Streams with DataInput based streams.  We own
         // the Source streams, all the streams in the chain that we own are
         // destroyed when these are.
-        this->dataInputStream.reset( new DataInputStream( inputStream, true ) 
);
-        this->dataOutputStream.reset( new DataOutputStream( outputStream, true 
) );
+        this->dataInputStream.reset(new DataInputStream(inputStream.release(), 
true));
+        this->dataOutputStream.reset(new 
DataOutputStream(outputStream.release(), true));
 
         // Give the IOTransport the streams.
         ioTransport->setInputStream( dataInputStream.get() );


Reply via email to