summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--io/source/acceptor/acc_pipe.cxx5
-rw-r--r--io/source/acceptor/acc_socket.cxx6
-rw-r--r--io/source/connector/connector.cxx10
3 files changed, 8 insertions, 13 deletions
diff --git a/io/source/acceptor/acc_pipe.cxx b/io/source/acceptor/acc_pipe.cxx
index 4410760c6f26..50a9939a2144 100644
--- a/io/source/acceptor/acc_pipe.cxx
+++ b/io/source/acceptor/acc_pipe.cxx
@@ -148,19 +148,18 @@ namespace io_acceptor
OUString error = "io.acceptor: pipe already closed" + m_sPipeName;
throw ConnectionSetupException( error );
}
- PipeConnection *pConn = new PipeConnection( m_sConnectionDescription );
+ std::unique_ptr<PipeConnection> pConn(new PipeConnection( m_sConnectionDescription ));
oslPipeError status = pipe.accept( pConn->m_pipe );
if( m_bClosed )
{
// stopAccepting was called !
- delete pConn;
return Reference < XConnection >();
}
else if( osl_Pipe_E_None == status )
{
- return Reference < XConnection > ( static_cast<XConnection *>(pConn) );
+ return Reference < XConnection > ( static_cast<XConnection *>(pConn.release()) );
}
else
{
diff --git a/io/source/acceptor/acc_socket.cxx b/io/source/acceptor/acc_socket.cxx
index f34b3635eb7b..5a9956eb75d9 100644
--- a/io/source/acceptor/acc_socket.cxx
+++ b/io/source/acceptor/acc_socket.cxx
@@ -330,17 +330,15 @@ namespace io_acceptor {
Reference< XConnection > SocketAcceptor::accept( )
{
- SocketConnection *pConn = new SocketConnection( m_sConnectionDescription );
+ std::unique_ptr<SocketConnection> pConn(new SocketConnection( m_sConnectionDescription ));
if( m_socket.acceptConnection( pConn->m_socket )!= osl_Socket_Ok )
{
// stopAccepting was called
- delete pConn;
return Reference < XConnection > ();
}
if( m_bClosed )
{
- delete pConn;
return Reference < XConnection > ();
}
@@ -358,7 +356,7 @@ namespace io_acceptor {
sizeof( nTcpNoDelay ) , osl_Socket_LevelTcp );
}
- return Reference < XConnection > ( static_cast<XConnection *>(pConn) );
+ return Reference < XConnection > ( static_cast<XConnection *>(pConn.release()) );
}
void SocketAcceptor::stopAccepting()
diff --git a/io/source/connector/connector.cxx b/io/source/connector/connector.cxx
index 1de3ee92ec2d..c95219d53ab9 100644
--- a/io/source/connector/connector.cxx
+++ b/io/source/connector/connector.cxx
@@ -85,11 +85,11 @@ namespace stoc_connector
{
OUString aName(aDesc.getParameter("name"));
- PipeConnection *pConn = new PipeConnection( sConnectionDescription );
+ std::unique_ptr<PipeConnection> pConn(new PipeConnection( sConnectionDescription ));
if( pConn->m_pipe.create( aName.pData, osl_Pipe_OPEN, osl::Security() ) )
{
- r.set( static_cast<XConnection *>(pConn) );
+ r.set( static_cast<XConnection *>(pConn.release()) );
}
else
{
@@ -97,7 +97,6 @@ namespace stoc_connector
"Connector : couldn't connect to pipe " + aName + "("
+ OUString::number(pConn->m_pipe.getError()) + ")");
SAL_WARN("io.connector", sMessage);
- delete pConn;
throw NoConnectException( sMessage );
}
}
@@ -114,7 +113,7 @@ namespace stoc_connector
bool bTcpNoDelay
= aDesc.getParameter("tcpnodelay").toInt32() != 0;
- SocketConnection *pConn = new SocketConnection( sConnectionDescription);
+ std::unique_ptr<SocketConnection> pConn(new SocketConnection( sConnectionDescription));
SocketAddr AddrTarget( aHost.pData, nPort );
if(pConn->m_socket.connect(AddrTarget) != osl_Socket_Ok)
@@ -123,7 +122,6 @@ namespace stoc_connector
OUString sError = pConn->m_socket.getErrorAsString();
sMessage += sError;
sMessage += ")";
- delete pConn;
throw NoConnectException( sMessage );
}
// we enable tcpNoDelay for loopback connections because
@@ -135,7 +133,7 @@ namespace stoc_connector
sizeof( nTcpNoDelay ) , osl_Socket_LevelTcp );
}
pConn->completeConnectionString();
- r.set( static_cast<XConnection *>(pConn) );
+ r.set( static_cast<XConnection *>(pConn.release()) );
}
else
{