On 01/27/2012 12:11 AM, Markus Mohrhard wrote:
- the problem is in
connectivity/source/drivers/mozab/bootstrap/MNSInit.cxx:228-235
-- the loop is sleeping for 1 ms and therefore running a thousand
times per second without doing any real work because there are no
events
Since this also affects Loading of encrypted documents do we really
need to initialize mozilla there? It should work now also without
mozilla or am I missing something( see nssinitializer.cxx:197 ).
No idea.
If it is still needed, can't we stop the Mozilla_UI_Thread after we
opened the encrypted document/library?
There's already code there to stop the thread (halleluja), but
apparently only upon LO shutdown
(connectivity/source/drivers/mozab/mozillasrc/MNSTerminateListener.cxx).
Hard to tell for me whether there's some easy and safe way to stop it
earlier (with the added requirement that it can also be restarted
correctly later, in case another document is loaded later, and that
start/stop is race-free in the face of multiple documents being loaded
simultaneously).
Generally, I would not go near that code (an osl::Condition with
multiple set/reset is already enough to make me scream, and a missing
osl_joinWithThread does not raise my confidence, either).
Another easy solution to improve the situation might be to increase
the timeout in MNSInit.cxx:235 from 1 to 10 or even 100, but I think
that is more a workaround than fixing the underlying problem.
Sounds like the best fix to me, at least for -3-5-0.
Stephan
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.