Browse Source

Revert "*Always* send a shutdown signal to enable custom shutdown actions"

This reverts commit 896899e0d6.
0.8
Matt Corallo 13 years ago
parent
commit
18c4beb05b
  1. 3
      src/bitcoinrpc.cpp
  2. 11
      src/init.cpp

3
src/bitcoinrpc.cpp

@ -2905,7 +2905,8 @@ void ThreadRPCServer2(void* parg)
} }
vnThreadsRunning[THREAD_RPCLISTENER]--; vnThreadsRunning[THREAD_RPCLISTENER]--;
io_service.run(); while (!fShutdown)
io_service.run_one();
vnThreadsRunning[THREAD_RPCLISTENER]++; vnThreadsRunning[THREAD_RPCLISTENER]++;
} }

11
src/init.cpp

@ -9,7 +9,6 @@
#include "init.h" #include "init.h"
#include "util.h" #include "util.h"
#include "ui_interface.h" #include "ui_interface.h"
#include <boost/bind.hpp>
#include <boost/filesystem.hpp> #include <boost/filesystem.hpp>
#include <boost/filesystem/fstream.hpp> #include <boost/filesystem/fstream.hpp>
#include <boost/filesystem/convenience.hpp> #include <boost/filesystem/convenience.hpp>
@ -41,8 +40,13 @@ void ExitTimeout(void* parg)
void StartShutdown() void StartShutdown()
{ {
#ifdef QT_GUI
// ensure we leave the Qt main loop for a clean GUI exit (Shutdown() is called in bitcoin.cpp afterwards) // ensure we leave the Qt main loop for a clean GUI exit (Shutdown() is called in bitcoin.cpp afterwards)
uiInterface.QueueShutdown(); uiInterface.QueueShutdown();
#else
// Without UI, Shutdown() can simply be started in a new thread
CreateThread(Shutdown, NULL);
#endif
} }
void Shutdown(void* parg) void Shutdown(void* parg)
@ -150,11 +154,6 @@ bool AppInit(int argc, char* argv[])
exit(ret); exit(ret);
} }
// Create the shutdown thread when receiving a shutdown signal
boost::signals2::scoped_connection do_stop(
uiInterface.QueueShutdown.connect(boost::bind(
&CreateThread, &Shutdown, static_cast<void*>(0), false)));
fRet = AppInit2(); fRet = AppInit2();
} }
catch (std::exception& e) { catch (std::exception& e) {

Loading…
Cancel
Save