Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(411)

Issue 589363002: Oilpan: DatabaseThread::m_thread should not get destructed during sweeping (Closed)

Created:
6 years, 3 months ago by haraken
Modified:
6 years, 3 months ago
CC:
blink-reviews
Project:
blink
Visibility:
Public.

Description

Oilpan: DatabaseThread::m_thread should not get destructed during sweeping WebThreadSupportingGC's destructor has a safe point scope because the destructor can block until all the tasks in the WebThread are processed. This means that the WebThreadSupportingGC shouldn't get destruction during sweeping where we cannot enter a safe point scope. Currently DatabaseThread::m_thread is destructed during sweeping and causes the above issue. To avoid the issue, this CL destructs the DatabaseThread::m_thread in DatabaseThread::terminate() (which is called when DatabaseContext stops the database thread). That way we can prevent the DatabaseThread::m_thread from getting destructed during sweeping. BUG=416772 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=182650

Patch Set 1 #

Total comments: 2

Patch Set 2 : #

Patch Set 3 : #

Total comments: 1

Patch Set 4 : #

Total comments: 1

Patch Set 5 : #

Patch Set 6 : #

Patch Set 7 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+19 lines, -18 lines) Patch
M Source/modules/webdatabase/DatabaseContext.cpp View 1 2 3 4 5 6 1 chunk +2 lines, -3 lines 0 comments Download
M Source/modules/webdatabase/DatabaseThread.h View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M Source/modules/webdatabase/DatabaseThread.cpp View 1 2 3 4 5 6 2 chunks +16 lines, -14 lines 0 comments Download

Messages

Total messages: 18 (4 generated)
haraken
PTAL
6 years, 3 months ago (2014-09-23 08:16:04 UTC) #2
wibling-chromium
https://codereview.chromium.org/589363002/diff/1/Source/modules/webdatabase/DatabaseContext.cpp File Source/modules/webdatabase/DatabaseContext.cpp (right): https://codereview.chromium.org/589363002/diff/1/Source/modules/webdatabase/DatabaseContext.cpp#newcode185 Source/modules/webdatabase/DatabaseContext.cpp:185: m_databaseThread->dispose(); It would be nice with a comment explaining ...
6 years, 3 months ago (2014-09-23 08:40:59 UTC) #4
zerny-chromium
https://codereview.chromium.org/589363002/diff/1/Source/modules/webdatabase/DatabaseContext.cpp File Source/modules/webdatabase/DatabaseContext.cpp (right): https://codereview.chromium.org/589363002/diff/1/Source/modules/webdatabase/DatabaseContext.cpp#newcode185 Source/modules/webdatabase/DatabaseContext.cpp:185: m_databaseThread->dispose(); Alternatively we could encapsulate this in the database ...
6 years, 3 months ago (2014-09-23 08:46:29 UTC) #6
haraken
Thanks for review. I removed TaskSynchronizer and simplified the code as follows: - Now the ...
6 years, 3 months ago (2014-09-23 13:34:24 UTC) #7
Mads Ager (chromium)
https://codereview.chromium.org/589363002/diff/40001/Source/modules/webdatabase/DatabaseThread.cpp File Source/modules/webdatabase/DatabaseThread.cpp (right): https://codereview.chromium.org/589363002/diff/40001/Source/modules/webdatabase/DatabaseThread.cpp#newcode79 Source/modules/webdatabase/DatabaseThread.cpp:79: MutexLocker lock(m_terminationRequestedMutex); I think we should limit the scope ...
6 years, 3 months ago (2014-09-23 13:44:37 UTC) #8
haraken
On 2014/09/23 13:44:37, Mads Ager (chromium) wrote: > https://codereview.chromium.org/589363002/diff/40001/Source/modules/webdatabase/DatabaseThread.cpp > File Source/modules/webdatabase/DatabaseThread.cpp (right): > > ...
6 years, 3 months ago (2014-09-23 13:45:56 UTC) #9
Mads Ager (chromium)
https://codereview.chromium.org/589363002/diff/60001/Source/modules/webdatabase/DatabaseThread.cpp File Source/modules/webdatabase/DatabaseThread.cpp (right): https://codereview.chromium.org/589363002/diff/60001/Source/modules/webdatabase/DatabaseThread.cpp#newcode87 Source/modules/webdatabase/DatabaseThread.cpp:87: m_thread.clear(); Hmm, how does this work. You post the ...
6 years, 3 months ago (2014-09-23 14:09:08 UTC) #10
haraken
On 2014/09/23 14:09:08, Mads Ager (chromium) wrote: > https://codereview.chromium.org/589363002/diff/60001/Source/modules/webdatabase/DatabaseThread.cpp > File Source/modules/webdatabase/DatabaseThread.cpp (right): > > ...
6 years, 3 months ago (2014-09-23 14:33:12 UTC) #11
haraken
On 2014/09/23 14:33:12, haraken wrote: > On 2014/09/23 14:09:08, Mads Ager (chromium) wrote: > > ...
6 years, 3 months ago (2014-09-24 01:08:45 UTC) #12
zerny-chromium
lgtm
6 years, 3 months ago (2014-09-24 10:47:58 UTC) #13
haraken
Now that https://codereview.chromium.org/596083005/ landed successfully, I think it's safe to land this CL. Mads: Would ...
6 years, 3 months ago (2014-09-25 05:46:06 UTC) #14
Mads Ager (chromium)
LGTM, thanks Haraken!
6 years, 3 months ago (2014-09-25 05:47:52 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/589363002/120001
6 years, 3 months ago (2014-09-25 05:48:48 UTC) #17
commit-bot: I haz the power
6 years, 3 months ago (2014-09-25 05:53:48 UTC) #18
Message was sent while issue was closed.
Committed patchset #7 (id:120001) as 182650

Powered by Google App Engine
This is Rietveld 408576698