Merge pull request #32 from thunder2/pr/2437

Pr/2437
This commit is contained in:
csoler 2021-12-29 23:08:29 +01:00 committed by GitHub
commit 9c499ec069
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 25 additions and 5 deletions

View File

@ -84,7 +84,7 @@ RsThreadedTcpSocket::RsThreadedTcpSocket() : RsTcpSocket()
} }
void RsThreadedTcpSocket::run() void RsThreadedTcpSocket::run()
{ {
while(connectionState() == CONNECTED) while(!shouldStop() && connectionState() == CONNECTED)
{ {
tick(); tick();
std::this_thread::sleep_for(std::chrono::milliseconds(200)); std::this_thread::sleep_for(std::chrono::milliseconds(200));

View File

@ -46,8 +46,6 @@
#include "StrUtil.h" #include "StrUtil.h"
#include "PendingOperation.h" #include "PendingOperation.h"
Tor::TorControl *torControl = 0;
class nullstream: public std::ostream {}; class nullstream: public std::ostream {};
static std::ostream& torctrldebug() static std::ostream& torctrldebug()
@ -70,6 +68,11 @@ TorControl::TorControl()
mSocket = new TorControlSocket(this); mSocket = new TorControlSocket(this);
} }
TorControl::~TorControl()
{
delete(mSocket);
}
static RsTorConnectivityStatus torConnectivityStatus(Tor::TorControl::Status t) static RsTorConnectivityStatus torConnectivityStatus(Tor::TorControl::Status t)
{ {
switch(t) switch(t)

View File

@ -68,6 +68,7 @@ public:
}; };
explicit TorControl(); explicit TorControl();
virtual ~TorControl();
/* Information */ /* Information */
Status status() const; Status status() const;
@ -148,5 +149,3 @@ private:
}; };
} }
extern Tor::TorControl *torControl;

View File

@ -71,6 +71,7 @@ public:
HiddenService *hiddenService ; HiddenService *hiddenService ;
explicit TorManagerPrivate(TorManager *parent = 0); explicit TorManagerPrivate(TorManager *parent = 0);
virtual ~TorManagerPrivate();
std::string torExecutablePath() const; std::string torExecutablePath() const;
bool createDataDir(const std::string &path); bool createDataDir(const std::string &path);
@ -94,6 +95,11 @@ TorManager::TorManager()
{ {
} }
TorManager::~TorManager()
{
delete(d);
}
TorManagerPrivate::TorManagerPrivate(TorManager *parent) TorManagerPrivate::TorManagerPrivate(TorManager *parent)
: q(parent) : q(parent)
, process(0) , process(0)
@ -104,6 +110,11 @@ TorManagerPrivate::TorManagerPrivate(TorManager *parent)
control->set_statusChanged_callback([this](int new_status,int /*old_status*/) { controlStatusChanged(new_status); }); control->set_statusChanged_callback([this](int new_status,int /*old_status*/) { controlStatusChanged(new_status); });
} }
TorManagerPrivate::~TorManagerPrivate()
{
delete(control);
}
TorManager *TorManager::instance() TorManager *TorManager::instance()
{ {
static TorManager *p = 0; static TorManager *p = 0;

View File

@ -51,6 +51,7 @@ class TorManager : public HiddenServiceClient, public RsThread, public RsTor
{ {
public: public:
static TorManager *instance(); static TorManager *instance();
virtual ~TorManager();
TorProcess *process(); TorProcess *process();
TorControl *control(); TorControl *control();

View File

@ -51,6 +51,11 @@ TorControlDialog::TorControlDialog(QWidget *)
adjustSize(); adjustSize();
} }
TorControlDialog::~TorControlDialog()
{
rsEvents->unregisterEventsHandler(mEventHandlerId);
}
void TorControlDialog::handleEvent_main_thread(std::shared_ptr<const RsEvent> event) void TorControlDialog::handleEvent_main_thread(std::shared_ptr<const RsEvent> event)
{ {
if(event->mType != RsEventType::TOR_MANAGER) return; if(event->mType != RsEventType::TOR_MANAGER) return;

View File

@ -15,6 +15,7 @@ class TorControlDialog: public QWidget, public Ui::TorControlDialog
public: public:
TorControlDialog(QWidget *parent =NULL); TorControlDialog(QWidget *parent =NULL);
virtual ~TorControlDialog();
enum TorStatus { enum TorStatus {
TOR_STATUS_UNKNOWN = 0x00, TOR_STATUS_UNKNOWN = 0x00,