diff options
Diffstat (limited to 'lib/Utils/DebugDump.cpp')
-rw-r--r-- | lib/Utils/DebugDump.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/Utils/DebugDump.cpp b/lib/Utils/DebugDump.cpp index fcd3b72..315b564 100644 --- a/lib/Utils/DebugDump.cpp +++ b/lib/Utils/DebugDump.cpp @@ -92,12 +92,20 @@ bool CDebugDump::GetAndSetLock(const std::string& pLockFile, const std::string& else { std::string line; + std::stringstream ss; getline(fIn, line); if (line == pPID) { m_bUnlock = false; return true; } + ss << "/proc/" << line << "/"; + if (!ExistFileDir(ss.str())) + { + remove(pLockFile.c_str()); + Delete(); + throw std::string("CDebugDump::GetAndSetLock(): dead lock found"); + } return false; } } |