double checked locking pattern is not safe on SMP

Change-Id: Ie6dd564bdcd45647cb4d62ab259462e3db112576
This commit is contained in:
Mathias Agopian 2012-04-16 19:30:56 -07:00
parent 3aecbb0715
commit e8db871de7

View File

@ -73,10 +73,11 @@ protected:
sp<ProcessState> ProcessState::self()
{
if (gProcess != NULL) return gProcess;
AutoMutex _l(gProcessMutex);
if (gProcess == NULL) gProcess = new ProcessState;
Mutex::Autolock _l(gProcessMutex);
if (gProcess != NULL) {
return gProcess;
}
gProcess = new ProcessState;
return gProcess;
}