refs #884 Refactoring: moved method.

This commit is contained in:
Mathew Sutcliffe
2017-03-15 18:35:16 +00:00
parent 5b5e80e67f
commit 0d0e2cf9e0
3 changed files with 25 additions and 21 deletions

View File

@@ -180,24 +180,6 @@ namespace BlackMisc
return p; return p;
} }
QString lockFileError(const QLockFile &lock)
{
switch (lock.error())
{
case QLockFile::NoError: return "No error";
case QLockFile::PermissionError: return "Insufficient permission";
case QLockFile::UnknownError: return "Unknown filesystem error";
case QLockFile::LockFailedError:
{
QString hostname, appname;
qint64 pid = 0;
lock.getLockInfo(&pid, &hostname, &appname);
return QString("Lock open in another process (%1 %2 on %3)").arg(hostname, QString::number(pid), appname);
}
default: return "Bad error number";
}
}
void CDataCache::saveToStoreAsync(const BlackMisc::CValueCachePacket &values) void CDataCache::saveToStoreAsync(const BlackMisc::CValueCachePacket &values)
{ {
singleShot(0, &m_serializer, [this, values] singleShot(0, &m_serializer, [this, values]
@@ -370,7 +352,7 @@ namespace BlackMisc
if (! m_lockFile.lock()) if (! m_lockFile.lock())
{ {
CLogMessage(this).error("Failed to lock %1: %2") << m_basename << lockFileError(m_lockFile); CLogMessage(this).error("Failed to lock %1: %2") << m_basename << CFileUtils::lockFileError(m_lockFile);
return {}; return {};
} }
m_updateInProgress = true; m_updateInProgress = true;
@@ -636,7 +618,7 @@ namespace BlackMisc
if (! m_lockFile.lock()) if (! m_lockFile.lock())
{ {
CLogMessage(this).error("Failed to lock %1: %2") << m_basename << lockFileError(m_lockFile); CLogMessage(this).error("Failed to lock %1: %2") << m_basename << CFileUtils::lockFileError(m_lockFile);
m_lockFile.unlock(); m_lockFile.unlock();
return; return;
} }
@@ -672,7 +654,7 @@ namespace BlackMisc
if (! m_lockFile.lock()) if (! m_lockFile.lock())
{ {
CLogMessage(this).error("Failed to lock %1: %2") << m_basename << lockFileError(m_lockFile); CLogMessage(this).error("Failed to lock %1: %2") << m_basename << CFileUtils::lockFileError(m_lockFile);
m_lockFile.unlock(); m_lockFile.unlock();
return 0; return 0;
} }

View File

@@ -328,4 +328,22 @@ namespace BlackMisc
); );
return executables; return executables;
} }
QString CFileUtils::lockFileError(const QLockFile &lockFile)
{
switch (lockFile.error())
{
case QLockFile::NoError: return QStringLiteral("No error");
case QLockFile::PermissionError: return QStringLiteral("Insufficient permission");
case QLockFile::UnknownError: return QStringLiteral("Unknown error");
case QLockFile::LockFailedError:
{
QString hostname, appname;
qint64 pid = 0;
lockFile.getLockInfo(&pid, &hostname, &appname);
return QStringLiteral("Lock open in another process (%1 %2 on %3)").arg(hostname, QString::number(pid), appname);
}
default: return QStringLiteral("Bad error number");
}
}
} // ns } // ns

View File

@@ -17,6 +17,7 @@
#include <QDir> #include <QDir>
#include <QFileInfo> #include <QFileInfo>
#include <QFileInfoList> #include <QFileInfoList>
#include <QLockFile>
#include <QString> #include <QString>
#include <QStringList> #include <QStringList>
#include <Qt> #include <Qt>
@@ -122,6 +123,9 @@ namespace BlackMisc
//! Get all swift executables //! Get all swift executables
static const QStringList &getSwiftExecutables(); static const QStringList &getSwiftExecutables();
//! Error message explaining why a QLockFile failed to lock.
static QString lockFileError(const QLockFile &lockFile);
}; };
} // ns } // ns