[rfc][icedtea-web] Make applet resize message handling asynchronous

Jiri Vanek jvanek at redhat.com
Mon Jun 3 02:24:55 PDT 2013


On 05/31/2013 09:16 PM, Adam Domurad wrote:
> Hi, this is a defensive patch to remove deadlock possibility entirely from the applet resizing message. I think as much as it can be avoided, blocking operations should not occur on the worker threads. We never make more than 2 worker threads for normal messages, so they should spawn a thread for any task that will potentially take a substantial time.
>
> ChangeLog:
> 2013-XX-XX Adam Domurad <adomurad at redhat.com>
>
> * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java:
> Handle resizing more robustly by not blocking worker thread
>
> I am also writing this little page: http://icedtea.classpath.org/wiki/Fixing_IcedTea-Web_Browser_Hanging
> Comments welcome. It is linked from the icedtea-web wiki page under 'Common problems'.
>
> Happy hacking,
> -Adam

Looks good to me. Just nit which you may/do not need to follow:

To create inner ResizeAppletPanel class impelmenting Runnable, so it will:
  - you will just call new Thread(new resizeAppletPanel(panel)) in main codse
  - will lead programmer  to use the thread if he will need to call resize on some other place
  - I know you do not like many tinny classes but imho it is more clear O:)


According to the page:
http://icedtea.classpath.org/wiki/Fixing_IcedTea-Web_Browser_Hanging
nice effort! Should be linked for mman page otherwise
It does not mention js->appelt->js deadlock. Is this deadlock in subset for this page?


J.



More information about the distro-pkg-dev mailing list