Index: src/libchcore/TTaskManager.cpp =================================================================== diff -u -N -r8a2ff3b2b71b45fb525e030167e62f316cb32869 -rde48778626a2e3f6a09a43f0211b2a04eba36fed --- src/libchcore/TTaskManager.cpp (.../TTaskManager.cpp) (revision 8a2ff3b2b71b45fb525e030167e62f316cb32869) +++ src/libchcore/TTaskManager.cpp (.../TTaskManager.cpp) (revision de48778626a2e3f6a09a43f0211b2a04eba36fed) @@ -27,6 +27,7 @@ #include "TTaskInfo.h" #include "SerializerTrace.h" #include "TFakeFileSerializer.h" +#include "..\liblogger\TLoggerPaths.h" namespace chcore { @@ -174,8 +175,7 @@ spTask->OnUnregisterTask(); - m_tObsoleteFiles.DeleteObsoleteFile(spTask->GetSerializer()->GetLocation()); - m_tObsoleteFiles.DeleteObsoleteFile(spTask->GetLogPath()); + RemoveFilesForTask(spTask); m_tTasks.RemoveAt(stIndex); } @@ -208,8 +208,7 @@ spTask->OnUnregisterTask(); - m_tObsoleteFiles.DeleteObsoleteFile(spTask->GetSerializer()->GetLocation()); - m_tObsoleteFiles.DeleteObsoleteFile(spTask->GetLogPath()); + RemoveFilesForTask(spTask); m_tTasks.RemoveAt(stIndex); } @@ -539,4 +538,16 @@ TSmartPath pathLog = m_pathLogDir + PathFromWString(TString(_T("Task-")) + strTaskUuid + _T(".log")); return pathLog; } + + void TTaskManager::RemoveFilesForTask(const TTaskPtr& spTask) + { + m_tObsoleteFiles.DeleteObsoleteFile(spTask->GetSerializer()->GetLocation()); + + logger::TLoggerPaths logPaths; + spTask->GetLogPaths(logPaths); + for(size_t stLogIndex = 0; stLogIndex != logPaths.GetCount(); ++stLogIndex) + { + m_tObsoleteFiles.DeleteObsoleteFile(PathFromString(logPaths.GetAt(stLogIndex))); + } + } }