- From: Robert O'Callahan <robert@ocallahan.org>
- Date: Sun, 23 Aug 2009 00:54:36 +1200
On Wed, Aug 19, 2009 at 11:26 AM, Jeremy Orlow <jorlow at chromium.org> wrote: > First of all, I was wondering why all user prompts are specified as "must > release the storage mutex" ( > http://dev.w3.org/html5/spec/Overview.html#user-prompts). Should this > really say "must" instead of "may"? IIRC (I couldn't find the original > thread, unfortunately) this was added because of deadlock concerns. It > seems like there might be some UA implementation specific ways this could > deadlock and there is the question of whether we'd want an alert() while > holding the lock to block other execution requiring the lock, but I don't > see why the language should be "must". For Chromium, I don't think we'll > need to release the lock for any of these, unless there's some > deadlock scenario I'm missing here. So if one page grabs the lock and then does an alert(), and another page in the same domain tries to get the lock, you're going to let the latter page hang until the user dismisses the alert in the first page? Given that different UAs are probably going to have other scenarios where > they have to drop the lock (some of them may even be purely implementational > issues), should we add some way for us to notify scripts the lock was > dropped? A normal event isn't going to be of much use, since it'll fire > after the scripts execution ends (so the lock would have been dropped by > then anyway). A boolean doesn't seem super useful, but it's better than > nothing and could help debugging. Maybe fire an exception? Are there other > options? > A generation counter might be useful. > Lastly, is navigator.getStorageUpdates() the right name for the function > that drops the lock? Why was it changed from navigator.releaseLock()? I > assume we're trying to avoid the word "lock", but the reason why you'd need > to call a function to get updates is not clear without understanding the > concept of a lock...so what's the point of making this so cryptic? > Authors would be confused that there's no aquireLock() API. Rob -- "He was pierced for our transgressions, he was crushed for our iniquities; the punishment that brought us peace was upon him, and by his wounds we are healed. We all, like sheep, have gone astray, each of us has turned to his own way; and the LORD has laid on him the iniquity of us all." [Isaiah 53:5-6] -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.whatwg.org/pipermail/whatwg-whatwg.org/attachments/20090823/099bfaf0/attachment-0001.htm>
Received on Saturday, 22 August 2009 05:54:36 UTC