[whatwg] Worker feedback

There are additional constraints that haven't been mentioned yet...
Plugins.

The current model for plugins is that they execute in a single-threaded
world. Chrome maintains that model by hosting each plugin in its own process
and RPC'ing method invocations back and forth between calling pages and the
plugin instances. All plugin instances (of a given plugin) reside on the
same thread.

Consider three threads

PageA
PageB
PluginC

PageA
-grabs storage lock

PluginC
-calls out to PageB (everything in NPAPI is synchronous)
-now waiting for PageB to return

PageB
-while handling the plugins callback, attempts to grab the storage lock
-BLOCKED waiting for PageA to release it

PageA
-calls plugin (sync method call)
-BLOCK waiting indirectly for PageB

== DEADLOCK
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.whatwg.org/pipermail/whatwg-whatwg.org/attachments/20090406/7c248d60/attachment.htm>

Received on Monday, 6 April 2009 10:04:16 UTC