Merge pull request #1696

6ea3e3cc Fix race in setThreadName/getThreadName (Lee Clagett)
This commit is contained in:
Riccardo Spagni 2017-02-11 00:53:31 +02:00
commit d1b7ad3f1a
No known key found for this signature in database
GPG Key ID: 55432DF31CCD4FCD

View File

@ -3988,10 +3988,12 @@ inline void FUNCTION_NAME(const T&);
} }
void setThreadName(const std::string &name) { void setThreadName(const std::string &name) {
const base::threading::ScopedLock scopedLock(lock());
m_threadNames[base::threading::getCurrentThreadId()] = name; m_threadNames[base::threading::getCurrentThreadId()] = name;
} }
std::string getThreadName(const std::string& name) { std::string getThreadName(const std::string& name) {
const base::threading::ScopedLock scopedLock(lock());
std::map<std::string, std::string>::const_iterator it = m_threadNames.find(name); std::map<std::string, std::string>::const_iterator it = m_threadNames.find(name);
if (it == m_threadNames.end()) if (it == m_threadNames.end())
return name; return name;