refs #649, made base URL static const to resolve threading issue

(crash when shutting down)
This commit is contained in:
Klaus Basan
2016-06-04 14:47:25 +02:00
parent e752a3d73b
commit c31145b3a0
5 changed files with 13 additions and 9 deletions

View File

@@ -120,7 +120,7 @@ namespace BlackCore
protected:
CDatabaseReaderConfigList m_config; //!< DB reder configuration
BlackMisc::Network::CUrl m_sharedUrl; //!< URL for checking if alive
BlackMisc::Network::CUrl m_sharedUrl; //!< URL for shared files
QString m_statusMessage; //!< Returned status message from watchdog
bool m_canConnect = false; //!< Successful connection?
mutable QReadWriteLock m_statusLock; //!< Lock

View File

@@ -41,7 +41,8 @@ namespace BlackCore
CIcaoDataReader::CIcaoDataReader(QObject *owner, const CDatabaseReaderConfigList &confg) :
CDatabaseReader(owner, confg, "CIcaoDataReader")
{
// void
// init to avoid threading issues
getBaseUrl();
}
CAircraftIcaoCodeList CIcaoDataReader::getAircraftIcaoCodes() const
@@ -209,9 +210,9 @@ namespace BlackCore
}
}
CUrl CIcaoDataReader::getBaseUrl() const
const CUrl &CIcaoDataReader::getBaseUrl()
{
const CUrl baseUrl(sApp->getGlobalSetup().getDbIcaoReaderUrl());
static const CUrl baseUrl(sApp->getGlobalSetup().getDbIcaoReaderUrl());
return baseUrl;
}

View File

@@ -156,7 +156,8 @@ namespace BlackCore
void updateReaderUrl(const BlackMisc::Network::CUrl &url);
//! Base URL
BlackMisc::Network::CUrl getBaseUrl() const;
//! \threadsafe
static const BlackMisc::Network::CUrl &getBaseUrl();
//! URL
BlackMisc::Network::CUrl getAircraftIcaoUrl(bool shared = false) const;

View File

@@ -41,7 +41,8 @@ namespace BlackCore
CModelDataReader::CModelDataReader(QObject *owner, const CDatabaseReaderConfigList &config) :
CDatabaseReader(owner, config, "CModelDataReader")
{
// void
// init to avoid threading issues
getBaseUrl();
}
CLiveryList CModelDataReader::getLiveries() const
@@ -463,9 +464,9 @@ namespace BlackCore
return CDatabaseReader::isChangedUrl(CUrl(), this->getBaseUrl());
}
CUrl CModelDataReader::getBaseUrl() const
const CUrl &CModelDataReader::getBaseUrl()
{
const CUrl baseUrl(sApp->getGlobalSetup().getDbModelReaderUrl());
static const CUrl baseUrl(sApp->getGlobalSetup().getDbModelReaderUrl());
return baseUrl;
}

View File

@@ -159,7 +159,8 @@ namespace BlackCore
mutable QReadWriteLock m_lockModels;
//! Base URL
BlackMisc::Network::CUrl getBaseUrl() const;
//! \threadsafe
static const BlackMisc::Network::CUrl &getBaseUrl();
//! URL livery web service
BlackMisc::Network::CUrl getLiveryUrl(bool shared = false) const;