[Webkit-unassigned] [Bug 25711] HTML5 Database becomes locked if a transaction is in progress when the page is refreshed.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Jun 10 10:06:08 PDT 2009


https://bugs.webkit.org/show_bug.cgi?id=25711





------- Comment #19 from benm at google.com  2009-06-10 10:06 PDT -------
(In reply to comment #18)

Thanks again for the comments Michael.

> If inCallback && m_database->stopped(), can you bump into the same problem with
> scheduling the next cleanupAfterTransactionErrorCallback step? If that combo
> can't happen, maybe add an ASSERT. Or if that combo can happen, maybe just if
> (stopped) {cleanupAfter(); return;} at the top of the method.

Good catch! This got me thinking and I believe that we need to protect each
point that cleanup steps may be executed from the database having been stopped.
The main thread could stop the database at any time, therefore it's imperative
that after a statement is executed we ensure that the commit or rollback steps
can be completed synchronously if the database has been stopped. I've checked
that each path of execution after m_currentStatement->execute in
SQLTransaction::runCurrentStatement can do this and I think it's now OK.

Sending a new patch.


-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the webkit-unassigned mailing list