diff --git a/include/cql/internal/cql_connection_impl.hpp b/include/cql/internal/cql_connection_impl.hpp index 07d5b675d..f7e086437 100644 --- a/include/cql/internal/cql_connection_impl.hpp +++ b/include/cql/internal/cql_connection_impl.hpp @@ -135,7 +135,7 @@ class cql_connection_impl_t : public cql::cql_connection_t virtual ~cql_connection_impl_t() { - boost::mutex::scoped_lock(_is_disposed->mutex); + boost::mutex::scoped_lock lock(_is_disposed->mutex); // lets set the disposed flag (the shared counter will prevent it from being destroyed) _is_disposed->value=true; } @@ -229,7 +229,10 @@ class cql_connection_impl_t : public cql::cql_connection_t _callback_storage.set_callbacks(stream, callback_pair_t(callback, errback)); - create_request(new cql::cql_message_query_impl_t(query), + cql::cql_message_query_impl_t messageQuery(query); + + create_request( + &messageQuery, boost::bind(&cql_connection_impl_t::write_handle, this, boost::asio::placeholders::error, @@ -254,8 +257,10 @@ class cql_connection_impl_t : public cql::cql_connection_t _callback_storage.set_callbacks(stream, callback_pair_t(callback, errback)); + cql::cql_message_query_impl_t messageQuery(query); + create_request( - new cql::cql_message_prepare_impl_t(query), + &messageQuery, boost::bind(&cql_connection_impl_t::write_handle, this, boost::asio::placeholders::error, @@ -612,7 +617,7 @@ class cql_connection_impl_t : public cql::cql_connection_t const boost::system::error_code& err) { // if the connection was already disposed we return here immediatelly - boost::mutex::scoped_lock(is_disposed->mutex); + boost::mutex::scoped_lock lock(is_disposed->mutex); if(is_disposed->value) return; if (!err) { @@ -689,7 +694,7 @@ class cql_connection_impl_t : public cql::cql_connection_t boost::shared_ptr is_disposed, const boost::system::error_code& err) { - boost::mutex::scoped_lock(is_disposed->mutex); + boost::mutex::scoped_lock lock(is_disposed->mutex); // if the connection was already disposed we return here immediatelly if(is_disposed->value) return; @@ -798,10 +803,10 @@ class cql_connection_impl_t : public cql::cql_connection_t void events_register() { - std::auto_ptr m(new cql::cql_message_register_impl_t()); - m->events(_events); + cql::cql_message_register_impl_t messageRegister; + messageRegister.events(_events); - create_request(m.release(), + create_request(&messageRegister, boost::bind(&cql_connection_impl_t::write_handle, this, boost::asio::placeholders::error, @@ -814,8 +819,9 @@ class cql_connection_impl_t : public cql::cql_connection_t void options_write() { + cql::cql_message_options_impl_t messageOption; create_request( - new cql::cql_message_options_impl_t(), + &messageOption, (boost::function)boost::bind( &cql_connection_impl_t::write_handle, this, @@ -830,10 +836,10 @@ class cql_connection_impl_t : public cql::cql_connection_t void startup_write() { - std::auto_ptr m(new cql::cql_message_startup_impl_t()); - m->version(CQL_VERSION_IMPL); + cql::cql_message_startup_impl_t m; + m.version(CQL_VERSION_IMPL); create_request( - m.release(), + &m, boost::bind(&cql_connection_impl_t::write_handle, this, boost::asio::placeholders::error, @@ -844,10 +850,10 @@ class cql_connection_impl_t : public cql::cql_connection_t void credentials_write() { - std::auto_ptr m(new cql::cql_message_credentials_impl_t()); - m->credentials(_credentials); + cql::cql_message_credentials_impl_t m; + m.credentials(_credentials); create_request( - m.release(), + &m, boost::bind(&cql_connection_impl_t::write_handle, this, boost::asio::placeholders::error, diff --git a/src/cql/internal/cql_control_connection.cpp b/src/cql/internal/cql_control_connection.cpp index a73022335..22a945c23 100644 --- a/src/cql/internal/cql_control_connection.cpp +++ b/src/cql/internal/cql_control_connection.cpp @@ -276,6 +276,8 @@ cql_control_connection_t::refresh_node_list_and_token_map() token_map[local_host->address()].insert(local_tokens_map.begin(), local_tokens_map.end()); } + + delete local_tokens_set; } }