diff options
| author | Riccardo Spagni <ric@spagni.net> | 2018-10-15 13:28:42 +0200 |
|---|---|---|
| committer | Riccardo Spagni <ric@spagni.net> | 2018-10-15 13:28:42 +0200 |
| commit | f916ef81f1e8048fadffc304f84932c3a94ede89 (patch) | |
| tree | 4efd7617a23ab2cc1383a83f54bffb66b2cee159 /src/daemon/daemon.cpp | |
| parent | 175bfe4747c7f627a2e799a92c0d6d5709af9431 (diff) | |
| parent | c3b8328cd3ca7e5052b6cb2f746b19137421d268 (diff) | |
| download | monzero-core-f916ef81f1e8048fadffc304f84932c3a94ede89.tar.gz monzero-core-f916ef81f1e8048fadffc304f84932c3a94ede89.tar.xz monzero-core-f916ef81f1e8048fadffc304f84932c3a94ede89.zip | |
Merge pull request #4571
c3b8328c daemon: do not run complex code in a signal handler (moneromooo-monero)
e736964a Remove epee header dependency on cryptonote_core (moneromooo-monero)
Diffstat (limited to 'src/daemon/daemon.cpp')
| -rw-r--r-- | src/daemon/daemon.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/daemon/daemon.cpp b/src/daemon/daemon.cpp index ea24e32eb..f53649518 100644 --- a/src/daemon/daemon.cpp +++ b/src/daemon/daemon.cpp @@ -136,7 +136,14 @@ bool t_daemon::run(bool interactive) { throw std::runtime_error{"Can't run stopped daemon"}; } - tools::signal_handler::install(std::bind(&daemonize::t_daemon::stop_p2p, this)); + + std::atomic<bool> stop(false); + boost::thread([&stop, this] { + while (!stop) + epee::misc_utils::sleep_no_w(100); + this->stop_p2p(); + }).detach(); + tools::signal_handler::install([&stop](int){ stop = true; }); try { |
