diff options
author | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2015-12-31 17:09:00 +0000 |
---|---|---|
committer | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2015-12-31 17:09:00 +0000 |
commit | 1e07110a7aabf7374f1b1197a1fbbac614acb386 (patch) | |
tree | f6cf40d5849796c19f27792390e979539bace840 /src | |
parent | Merge pull request #584 (diff) | |
download | monero-1e07110a7aabf7374f1b1197a1fbbac614acb386.tar.xz |
Nicer looking exit when blockchain.bin is found
Do not print the exception message, and write the important bit
in red, since people will only read the last line otherwise.
Diffstat (limited to 'src')
-rw-r--r-- | src/cryptonote_core/cryptonote_core.cpp | 48 | ||||
-rw-r--r-- | src/daemon/core.h | 5 | ||||
-rw-r--r-- | src/daemon/daemon.cpp | 3 |
3 files changed, 25 insertions, 31 deletions
diff --git a/src/cryptonote_core/cryptonote_core.cpp b/src/cryptonote_core/cryptonote_core.cpp index 2fa339c31..29ea7c57b 100644 --- a/src/cryptonote_core/cryptonote_core.cpp +++ b/src/cryptonote_core/cryptonote_core.cpp @@ -231,6 +231,26 @@ namespace cryptonote bool fast_sync = command_line::get_arg(vm, command_line::arg_fast_block_sync) != 0; uint64_t blocks_threads = command_line::get_arg(vm, command_line::arg_prep_blocks_threads); + boost::filesystem::path folder(m_config_folder); + if (m_fakechain) + folder /= "fake"; + // + // check for blockchain.bin + try + { + const boost::filesystem::path old_files = folder; + if (boost::filesystem::exists(old_files / "blockchain.bin")) + { + LOG_PRINT_RED_L0("Found old-style blockchain.bin in " << old_files.string()); + LOG_PRINT_RED_L0("Monero now uses a new format. You can either remove blockchain.bin to start syncing"); + LOG_PRINT_RED_L0("the blockchain anew, or use blockchain_export and blockchain_import to convert your"); + LOG_PRINT_RED_L0("existing blockchain.bin to the new format. See README.md for instructions."); + return false; + } + } + // folder might not be a directory, etc, etc + catch (...) { } + BlockchainDB* db = nullptr; uint64_t BDB_FAST_MODE = 0; uint64_t BDB_FASTEST_MODE = 0; @@ -257,37 +277,9 @@ namespace cryptonote return false; } - boost::filesystem::path folder(m_config_folder); - - if (m_fakechain) - folder /= "fake"; - folder /= db->get_db_name(); - LOG_PRINT_L0("Loading blockchain from folder " << folder.string() << " ..."); - // check for blockchain.bin - bool old_blockchain_found = false; - try - { - const boost::filesystem::path old_files = folder.parent_path(); - if (boost::filesystem::exists(folder.parent_path() / "blockchain.bin")) - { - LOG_PRINT_L0("Found old-style blockchain.bin in " << old_files.string()); - LOG_PRINT_L0("Monero now uses a new format. You can either remove blockchain.bin to start syncing"); - LOG_PRINT_L0("the blockchain anew, or use blockchain_export and blockchain_import to convert your"); - LOG_PRINT_L0("existing blockchain.bin to the new format. See README.md for instructions."); - old_blockchain_found = true; - } - } - // folder might not be a directory, etc, etc - catch (...) {} - - if (old_blockchain_found) - { - throw DB_ERROR("Database could not be opened"); - } - const std::string filename = folder.string(); // temporarily default to fastest:async:1000 blockchain_db_sync_mode sync_mode = db_async; diff --git a/src/daemon/core.h b/src/daemon/core.h index ea76289dd..2208ef25a 100644 --- a/src/daemon/core.h +++ b/src/daemon/core.h @@ -66,15 +66,16 @@ public: m_core.set_cryptonote_protocol(&protocol); } - void run() + bool run() { //initialize core here LOG_PRINT_L0("Initializing core..."); if (!m_core.init(m_vm_HACK)) { - throw std::runtime_error("Failed to initialize core"); + return false; } LOG_PRINT_L0("Core initialized OK"); + return true; } cryptonote::core & get() diff --git a/src/daemon/daemon.cpp b/src/daemon/daemon.cpp index 6093ecdf8..ed6a66722 100644 --- a/src/daemon/daemon.cpp +++ b/src/daemon/daemon.cpp @@ -118,7 +118,8 @@ bool t_daemon::run(bool interactive) try { - mp_internals->core.run(); + if (!mp_internals->core.run()) + return false; mp_internals->rpc.run(); daemonize::t_command_server* rpc_commands; |