Починил клинч с мьютексом Провайдера ДБ

This commit is contained in:
2025-08-13 16:15:28 +03:00
parent 842118cbea
commit ef12d4f7a9
7 changed files with 74 additions and 65 deletions

View File

@@ -1,4 +1,5 @@
#include "processingsystem.h"
#include "providerdblms.h"
#include <clienthandler.h>
@@ -7,7 +8,10 @@ ProcessingSystem::ProcessingSystem(ProviderDBLMS* providerDBLMS, UpdateControlle
updateController(nullptr),
providerDBLMS(nullptr)
{
this->providerDBLMS = providerDBLMS;
//this->providerDBLMS = providerDBLMS;
this->updateController = updateController;
}
@@ -16,6 +20,10 @@ void ProcessingSystem::initialize(MultiThreadServer *server, DataParser *dataPar
UpdateController *updateController,
ChatSystem *chatSystem)
{
this->providerDBLMS = new ProviderDBLMS(/*parent*/nullptr);
this->providerDBLMS->ConnectionToDB();
this->providerDBLMS->deAuthorizationAll();
this->commonClientServer = commonClientHandler;
this->dataParser = dataParser;
this->server = server;

View File

@@ -17,7 +17,7 @@ ProviderDBLMS::~ProviderDBLMS()
void ProviderDBLMS::ConnectionToDB()
{
mtxAccess.lock();
mtxAccess.lock();
if(! dbLMS->DBisConnected())
{
if(dbLMS->connectionToDB())
@@ -31,7 +31,7 @@ void ProviderDBLMS::ConnectionToDB()
void ProviderDBLMS::DisConnectionFromDB()
{
mtxAccess.lock();
mtxAccess.lock();
if(dbLMS->DBisConnected())
{
Q_EMIT signal_BlockAutorization(true);

View File

@@ -16,8 +16,8 @@ ServerLMSWidget::ServerLMSWidget(QWidget *parent) :
loggerThread(nullptr),
dataParser(nullptr),
processingSystem(nullptr),
updateController(nullptr),
providerDBLMS(nullptr)
updateController(nullptr)//,
//providerDBLMS(nullptr)
{
ui->setupUi(this);
mutex = new QMutex;
@@ -37,13 +37,13 @@ ServerLMSWidget::ServerLMSWidget(QWidget *parent) :
updateThread = new QThread;
loggerThread = new QThread;
providerDBLMS = new ProviderDBLMS(this);
providerDBLMS->ConnectionToDB();
providerDBLMS->deAuthorizationAll();
//providerDBLMS = new ProviderDBLMS(this);
//providerDBLMS->ConnectionToDB();
//providerDBLMS->deAuthorizationAll();
chatSystem = new ChatSystem();
connect(providerDBLMS, &ProviderDBLMS::signal_BlockAutorization, this, &ServerLMSWidget::slot_BlockAutorization);
//connect(providerDBLMS, &ProviderDBLMS::signal_BlockAutorization, this, &ServerLMSWidget::slot_BlockAutorization);
assetsManager = new AssetsManager;
assetsManager->moveToThread(updateThread);
@@ -51,8 +51,9 @@ ServerLMSWidget::ServerLMSWidget(QWidget *parent) :
updateController = new UpdateController;
updateController->moveToThread(updateThread);
processingSystem = new ProcessingSystem(providerDBLMS, updateController);
processingSystem->moveToThread(updateThread);
processingSystem = new ProcessingSystem(/*providerDBLMS*/nullptr, updateController);
//processingSystem->moveToThread(updateThread);
//providerDBLMS->moveToThread(updateThread);
dataParser = new DataParser(assetsManager,processingSystem);

View File

@@ -103,7 +103,7 @@ private:
CommonClientHandler *commonClientHandler;
ChatSystem *chatSystem;
ProviderDBLMS* providerDBLMS;
//ProviderDBLMS* providerDBLMS;
bool first = true; // для тестов Unity