diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2012-09-20 15:40:30 +0200 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2012-09-20 17:17:23 +0000 |
commit | c63f4962caefc22cbf0fa9cde87f3a49d79f0b85 (patch) | |
tree | eb1c43b900774f1bff46da235fad114eef9c7085 /liblangtag/README | |
parent | c5f049680130a9af6c97856ea18869738811822b (diff) |
Do not call xmlCleanupParser from liblangtag
Despite its name, it is a cleanup function for libxml2 that must only be called
when the process as a whole no longer needs libxml2. Calling it from a library
like liblangtag is not appropriate (just like liblangtag does not call
xmlInitParser, either).
In LibreOffice, this caused confusion about pthread keys for thread-local
storage (xmlCleanupParser calls pthread_key_delete, but apparently if libxml2 is
later used by unrelated code in LibreOffice again, it still uses the stale key,
and if that key is now reused via an unrelated pthread_key_create, arbitrary
crashes happen during thread termination in pthread's __nptl_deallocate_tsd).
(cherry picked from commit 5e6c595e9d698caf23ae68d38b9cab30ff9c9b94)
Conflicts:
liblangtag/makefile.mk
Change-Id: I82cef8bc400d48f19eaa94f26d50d4b8589da106
Reviewed-on: https://gerrit.libreoffice.org/662
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Michael Stahl <mstahl@redhat.com>
Diffstat (limited to 'liblangtag/README')
0 files changed, 0 insertions, 0 deletions