Index: src/libchcore/TTask.cpp =================================================================== diff -u -N -r3045f3bb4e1fd76ea1fd3cd61d2fa8bf49771436 -rc66b22f786f8434075a09e92de52bba8a53a85db --- src/libchcore/TTask.cpp (.../TTask.cpp) (revision 3045f3bb4e1fd76ea1fd3cd61d2fa8bf49771436) +++ src/libchcore/TTask.cpp (.../TTask.cpp) (revision c66b22f786f8434075a09e92de52bba8a53a85db) @@ -188,10 +188,7 @@ try { if(bLogPathLoaded) - { - m_log.init(m_tBaseData.GetLogPath().ToString(), 262144, icpf::log_file::level_debug, false, false); - m_log.loge(szErr); - } + GetLog().loge(szErr); } catch(const std::exception&) { @@ -252,6 +249,8 @@ void TTask::BeginProcessing() { + GetLog().logi(_T("Requested task to begin processing")); + boost::unique_lock lock(m_lock); if(m_tBaseData.GetCurrentState() != eTaskState_LoadError) m_workerThread.StartThread(DelegateThreadProc, this, GetTaskPropValue(m_tConfiguration)); @@ -262,6 +261,7 @@ // the same as retry but less demanding if(GetTaskState() == eTaskState_Paused) { + GetLog().logi(_T("Requested task resume")); SetTaskState(eTaskState_Processing); BeginProcessing(); } @@ -286,6 +286,7 @@ void TTask::RestartProcessing() { + GetLog().logi(_T("Requested task restart")); KillThread(); SetTaskState(eTaskState_None); @@ -301,6 +302,7 @@ { if(GetTaskState() != eTaskState_Finished && GetTaskState() != eTaskState_Cancelled) { + GetLog().logi(_T("Requested task pause")); KillThread(); SetTaskState(eTaskState_Paused); } @@ -311,6 +313,7 @@ // change to ST_CANCELLED if(GetTaskState() != eTaskState_Finished) { + GetLog().logi(_T("Requested task cancel")); KillThread(); SetTaskState(eTaskState_Cancelled); } @@ -443,9 +446,9 @@ // return; // skips sleep and kill flag checking } + else + Sleep(50); // not to make it too hard for processor - Sleep(50); // not to make it too hard for processor - if(m_workerThread.KillRequested()) { // log @@ -649,4 +652,12 @@ return m_spSerializer; } +icpf::log_file& TTask::GetLog() +{ + if (!m_log.is_initialized()) + m_log.init(m_tBaseData.GetLogPath().ToString(), 262144, icpf::log_file::level_debug, false, false); + + return m_log; +} + END_CHCORE_NAMESPACE