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();
/*!
* \brief stop
* Stop the Tor management threads.
*/
static void stop();
/*!
* \brief getHiddenServiceInfo
* Gets information about the hidden service setup by RS to run.

View File

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

View File

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