예제 #1
0
	void CFileSystem::GetModifiedFiles(behaviac::vector<behaviac::string>& modifiedFiles)
	{
		BEHAVIAC_UNUSED_VAR(modifiedFiles);
#if BEHAVIAC_COMPILER_GCC_LINUX
		modifiedFiles.clear();

		if (s_ModifiedFiles.empty())
		{
			return;
		}

		behaviac::ScopedLock lock(s_mutex);
		std::sort(s_ModifiedFiles.begin(), s_ModifiedFiles.end());
		s_ModifiedFiles.erase(std::unique(s_ModifiedFiles.begin(), s_ModifiedFiles.end()), s_ModifiedFiles.end());

		s_ModifiedFiles.swap(modifiedFiles);
		//for (behaviac::vector<behaviac::string>::iterator it = s_ModifiedFiles.begin(); it != s_ModifiedFiles.end(); ++it)
		//{
		//	behaviac::string& s = *it;

		//	modifiedFiles.push_back(s);
		//}    

		//s_ModifiedFiles.clear();
#endif
	}
예제 #2
0
    void CFileSystem::StopMonitoringDirectory() {
#if BEHAVIAC_CCDEFINE_GCC_LINUX

        if (!s_bThreadFinish) {
            s_bThreadFinish = true;

            pthread_join(s_tid, 0);

            s_ModifiedFiles.clear();
        }

#endif
    }