Chromium Code Reviews| Index: Source/modules/webdatabase/DatabaseThread.cpp |
| diff --git a/Source/modules/webdatabase/DatabaseThread.cpp b/Source/modules/webdatabase/DatabaseThread.cpp |
| index d074e362041c67f51eb6083f0b07a6cdccfb2383..80574b616991586e6efc910279f87e6d487b3ea9 100644 |
| --- a/Source/modules/webdatabase/DatabaseThread.cpp |
| +++ b/Source/modules/webdatabase/DatabaseThread.cpp |
| @@ -114,6 +114,7 @@ void DatabaseThread::cleanupDatabaseThread() |
| for (HeapHashSet<Member<Database> >::iterator it = openSetCopy.begin(); it != end; ++it) |
| (*it)->close(); |
| } |
| + m_openDatabaseSet.clear(); |
| m_thread->postTask(new Task(WTF::bind(&DatabaseThread::cleanupDatabaseThreadCompleted, this))); |
|
haraken
2014/10/15 08:20:18
Just help me understand: Why do we need to post th
tkent
2014/10/15 08:41:22
I don't remember the reason. Anyway, it's unrelat
|
| } |
| @@ -130,7 +131,9 @@ void DatabaseThread::recordDatabaseOpen(Database* database) |
| ASSERT(isDatabaseThread()); |
| ASSERT(database); |
| ASSERT(!m_openDatabaseSet.contains(database)); |
| - m_openDatabaseSet.add(database); |
| + MutexLocker lock(m_terminationRequestedMutex); |
| + if (!m_terminationRequested) |
| + m_openDatabaseSet.add(database); |
| } |
| void DatabaseThread::recordDatabaseClosed(Database* database) |