Date: prev next · Thread: first prev next last
2012 Archives by date, by thread · List index


Eike, I agree with you that the listeners are destroyed during document
close. I observed it in my log file. However, the worker thread is running
asynchronously if not calling the listeners' modified function. How can it
know that the document is closed, stop calling the modified function, and
quit itself gracefully. So in the first post, I asked if there is a signal
which announces that the document is closed.

Please correct me if there is something wrong with my thought.

Best,
Wendi


Eike Rathke-2 wrote

Hi anwen,

On Friday, 2012-07-27 08:43:25 -0700, anwen wrote:

The deadlock scenario is that the spreadsheet called the functions many
times and was showing dynamical financial data. Then I closed the
spreadsheet window. The window quit immediately, but the soffice.bin and
soffice.exe were still in task manager. I had to kill these processes
manually. From the log file, I saw that main thread hung at destruction
process, trying to close the second thread, and the second thread hang at
Reference<XResultLisenter> -> modified(), trying to update the
spreadsheet.

This sounds like the actual culprit. The result listener should not try
to update if the document is in destruction. Actually the listeners are
detroyed during document close, but it seems this is a race condition
and a modified() is fired in between. If it detected that situation it
wouldn't need to lock SolarMutex but could bail out early instead.

Could you please submit a bug for this and assign it to me?

Thanks
  Eike

-- 
LibreOffice Calc developer. Number formatter stricken i18n
transpositionizer.
GnuPG key 0x293C05FD : 997A 4C60 CE41 0149 0DB3  9E96 2F1A D073 293C 05FD

_______________________________________________
LibreOffice mailing list
LibreOffice@.freedesktop
http://lists.freedesktop.org/mailman/listinfo/libreoffice





--
View this message in context: 
http://nabble.documentfoundation.org/Solarmutex-Deadlock-when-Closing-Calc-which-contains-functions-with-XVolatileResult-return-values-tp3998056p3998638.html
Sent from the Dev mailing list archive at Nabble.com.

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.