Added shutdown of tor management threads

This commit is contained in:
thunder2 2021-12-29 17:23:25 +01:00
parent 72eb21bbca
commit 460dbdcdc8
3 changed files with 23 additions and 2 deletions

View File

@ -141,6 +141,12 @@ public:
*/ */
static bool start(); static bool start();
/*!
* \brief stop
* Stop the Tor management threads.
*/
static void stop();
/*! /*!
* \brief getHiddenServiceInfo * \brief getHiddenServiceInfo
* Gets information about the hidden service setup by RS to run. * Gets information about the hidden service setup by RS to run.

View File

@ -53,6 +53,8 @@
using namespace Tor; using namespace Tor;
static TorManager *rsTor = nullptr;
namespace Tor namespace Tor
{ {
@ -840,6 +842,17 @@ bool RsTor::start()
return instance()->startTorManager(); return instance()->startTorManager();
} }
void RsTor::stop()
{
if (rsTor) {
if (rsTor->isRunning()) {
rsTor->fullstop();
}
delete(rsTor);
rsTor= nullptr;
}
}
void RsTor::setTorDataDirectory(const std::string& dir) void RsTor::setTorDataDirectory(const std::string& dir)
{ {
instance()->setTorDataDirectory(dir); instance()->setTorDataDirectory(dir);
@ -855,8 +868,6 @@ TorManager *RsTor::instance()
assert(getpid() == syscall(SYS_gettid));// make sure we're not in a thread assert(getpid() == syscall(SYS_gettid));// make sure we're not in a thread
#endif #endif
static TorManager *rsTor = nullptr;
if(rsTor == nullptr) if(rsTor == nullptr)
rsTor = new TorManager; rsTor = new TorManager;

View File

@ -591,6 +591,10 @@ feenableexcept(FE_INVALID | FE_DIVBYZERO);
RsGxsUpdateBroadcast::cleanup(); RsGxsUpdateBroadcast::cleanup();
#endif #endif
if (is_auto_tor) {
RsTor::stop();
}
RsControl::instance()->rsGlobalShutDown(); RsControl::instance()->rsGlobalShutDown();
delete(soundManager); delete(soundManager);