Merge pull request #1168

10be903 Brackets to prevent premature return (NanoAkron)
fb1785a Brackets to ensure doesn't function prematurely return (NanoAkron)
8ed0d72 Moved logging to target functions rather than caller (NanoAkron)
442bfd1 Added messages at log level 2 to reflect deactivation procedure (NanoAkron)
This commit is contained in:
Riccardo Spagni 2016-10-04 11:41:13 +02:00
commit fa1d5efb5a
No known key found for this signature in database
GPG key ID: 55432DF31CCD4FCD
6 changed files with 35 additions and 17 deletions

View file

@ -387,7 +387,7 @@ bool Blockchain::init(BlockchainDB* db, HardFork*& hf, const bool testnet)
//------------------------------------------------------------------ //------------------------------------------------------------------
bool Blockchain::store_blockchain() bool Blockchain::store_blockchain()
{ {
LOG_PRINT_YELLOW("Blockchain::" << __func__, LOG_LEVEL_3); LOG_PRINT_L3("Blockchain::" << __func__);
// lock because the rpc_thread command handler also calls this // lock because the rpc_thread command handler also calls this
CRITICAL_REGION_LOCAL(m_db->m_synchronization_lock); CRITICAL_REGION_LOCAL(m_db->m_synchronization_lock);
@ -419,9 +419,10 @@ bool Blockchain::deinit()
{ {
LOG_PRINT_L3("Blockchain::" << __func__); LOG_PRINT_L3("Blockchain::" << __func__);
LOG_PRINT_L0("Closing IO Service."); LOG_PRINT_L1("Stopping blockchain read/write activity");
// stop async service
m_async_work_idle.reset(); // stop async service
m_async_work_idle.reset();
m_async_pool.join_all(); m_async_pool.join_all();
m_async_service.stop(); m_async_service.stop();
@ -436,14 +437,15 @@ bool Blockchain::deinit()
try try
{ {
m_db->close(); m_db->close();
LOG_PRINT_L1("Local blockchain read/write activity stopped successfully");
} }
catch (const std::exception& e) catch (const std::exception& e)
{ {
LOG_PRINT_L0(std::string("Error closing blockchain db: ") + e.what()); LOG_ERROR(std::string("Error closing blockchain db: ") + e.what());
} }
catch (...) catch (...)
{ {
LOG_PRINT_L0("There was an issue closing/storing the blockchain, shutting down now to prevent issues!"); LOG_ERROR("There was an issue closing/storing the blockchain, shutting down now to prevent issues!");
} }
delete m_hardfork; delete m_hardfork;

View file

@ -228,14 +228,14 @@ namespace cryptonote
LOG_PRINT_L1("Locking " << lock_path.string()); LOG_PRINT_L1("Locking " << lock_path.string());
if (!db_lock.try_lock()) if (!db_lock.try_lock())
{ {
LOG_PRINT_L0("Failed to lock " << lock_path.string()); LOG_ERROR("Failed to lock " << lock_path.string());
return false; return false;
} }
return true; return true;
} }
catch (const std::exception &e) catch (const std::exception &e)
{ {
LOG_PRINT_L0("Error trying to lock " << lock_path.string() << ": " << e.what()); LOG_ERROR("Error trying to lock " << lock_path.string() << ": " << e.what());
return false; return false;
} }
} }
@ -244,6 +244,7 @@ namespace cryptonote
{ {
db_lock.unlock(); db_lock.unlock();
db_lock = boost::interprocess::file_lock(); db_lock = boost::interprocess::file_lock();
LOG_PRINT_L1("Blockchain directory successfully unlocked");
return true; return true;
} }
//----------------------------------------------------------------------------------------------- //-----------------------------------------------------------------------------------------------
@ -387,7 +388,7 @@ namespace cryptonote
} }
catch (const DB_ERROR& e) catch (const DB_ERROR& e)
{ {
LOG_PRINT_L0("Error opening database: " << e.what()); LOG_ERROR("Error opening database: " << e.what());
return false; return false;
} }

View file

@ -278,8 +278,13 @@ namespace cryptonote
//----------------------------------------------------------------------------------------------------- //-----------------------------------------------------------------------------------------------------
bool miner::stop() bool miner::stop()
{ {
LOG_PRINT_L1("Miner has received stop signal");
if (!is_mining()) if (!is_mining())
{
LOG_PRINT_L1("Not mining - nothing to stop" );
return true; return true;
}
send_stop_signal(); send_stop_signal();
CRITICAL_REGION_LOCAL(m_threads_lock); CRITICAL_REGION_LOCAL(m_threads_lock);

View file

@ -689,7 +689,7 @@ namespace cryptonote
bool res = tools::unserialize_obj_from_file(*this, state_file_path); bool res = tools::unserialize_obj_from_file(*this, state_file_path);
if(!res) if(!res)
{ {
LOG_PRINT_L1("Failed to load memory pool from file " << state_file_path); LOG_ERROR("Failed to load memory pool from file " << state_file_path);
m_transactions.clear(); m_transactions.clear();
m_txs_by_fee.clear(); m_txs_by_fee.clear();
@ -710,12 +710,17 @@ namespace cryptonote
//TODO: investigate whether only ever returning true is correct //TODO: investigate whether only ever returning true is correct
bool tx_memory_pool::deinit() bool tx_memory_pool::deinit()
{ {
LOG_PRINT_L1("Received signal to deactivate memory pool store");
if (m_config_folder.empty()) if (m_config_folder.empty())
{
LOG_PRINT_L1("Memory pool store already empty");
return true; return true;
}
if (!tools::create_directories_if_necessary(m_config_folder)) if (!tools::create_directories_if_necessary(m_config_folder))
{ {
LOG_PRINT_L1("Failed to create data directory: " << m_config_folder); LOG_ERROR("Failed to create memory pool data directory: " << m_config_folder);
return false; return false;
} }
@ -723,8 +728,14 @@ namespace cryptonote
bool res = tools::serialize_obj_to_file(*this, state_file_path); bool res = tools::serialize_obj_to_file(*this, state_file_path);
if(!res) if(!res)
{ {
LOG_PRINT_L1("Failed to serialize memory pool to file " << state_file_path); LOG_ERROR("Failed to serialize memory pool to file " << state_file_path);
return false;
} }
return true; else
{
LOG_PRINT_L1("Memory pool store deactivated successfully");
return true;
}
} }
} }

View file

@ -75,8 +75,6 @@ namespace cryptonote
template<class t_core> template<class t_core>
bool t_cryptonote_protocol_handler<t_core>::deinit() bool t_cryptonote_protocol_handler<t_core>::deinit()
{ {
return true; return true;
} }
//------------------------------------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------------------------------------

View file

@ -69,12 +69,13 @@ public:
~t_protocol() ~t_protocol()
{ {
LOG_PRINT_L0("Deinitializing cryptonote_protocol..."); LOG_PRINT_L0("Stopping cryptonote protocol...");
try { try {
m_protocol.deinit(); m_protocol.deinit();
m_protocol.set_p2p_endpoint(nullptr); m_protocol.set_p2p_endpoint(nullptr);
LOG_PRINT_L0("Cryptonote protocol stopped successfully");
} catch (...) { } catch (...) {
LOG_PRINT_L0("Failed to deinitialize protocol..."); LOG_ERROR("Failed to stop cryptonote protocol!");
} }
} }
}; };