[whatwg] localStorage mutex - a solution?
Rob Ennals
rob.ennals at gmail.com
Wed Nov 4 15:31:36 PST 2009
Missed out the important final qualifier. Here's take 3:
"the user agent MUST NOT release the storage mutex between calls to
local storage, except that the user agent MAY release the storage
mutex on any API operation /other that a local storage oeration/"
If a local storage op can release the mutex then the whole thing is
pointless :-)
-Rob
On Nov 4, 2009, at 3:15 PM, Rob Ennals <rob.ennals at gmail.com> wrote:
> I suspect my suggested spec line was insufficiently precise. How
> about this:
>
> "the user agent MUST NOT release the storage mutex between calls to
> local storage, except that the user agent MAY release the storage
> mutex on any API operation"
>
> We'd still need to define what "API operation" means, and I'm sure
> this could be worded better, but hopefully this makes the basic idea
> clearer.
>
> -Rob
>
> On Nov 4, 2009, at 2:56 PM, Mike Shaver <mike.shaver at gmail.com> wrote:
>
>> On Wed, Nov 4, 2009 at 5:51 PM, Rob Ennals <rob.ennals at gmail.com>
>> wrote:
>>> Or to put it another way: if the thread can't call an API then it
>>> can't
>>> block waiting for another storage mutex, thus deadlock can't
>>> occur, thus we
>>> don't need to release the storage mutex.
>>
>> Right, but the spec text there doesn't prevent the UA from releasing
>> more than in that scenario, which seems like it's not an improvement
>> over where we are right now: unpredictable consistency. Existing
>> racy
>> implementations like in IE would be conformant, so developers can't
>> count on the script-sequenced-storage-ops pattern providing
>> transactionality.
>>
>> More likely, though, _I_'m missing something...
>>
>> Mike
>
More information about the whatwg
mailing list