diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2013-10-31 12:45:04 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2013-10-31 12:45:04 +0100 |
commit | 8b8ef8d6331d84638bc253cb7d06faf37e0cc1b3 (patch) | |
tree | 3c817148af388ab73b1a64daf44fd9870b84d330 /xmloff/source/core/xmlexp.cxx | |
parent | 5085b66ef12298f488c4d7254c31292ef8fa621b (diff) |
Remove the xmloff::token::ResetTokens race condition
...where multiple parallel calls to xmloff::token::ResetTokens or
xmloff::token::GetXMLToken can see dangling pOUString pointers. There is no
point in releasing this (bounded) amount of memory referenced from global
aTokenList, anyway.
There is still a race when parallel calls to xmloff::token::GetXMLToken write to
a pOUString pointer in parallel, but that's more harmless, and maybe calls to
GetXMLToken are synchronized by Solar Mutex? Calls to ResetTokens (e.g., via
URP remote release request -> ~ScXMLExport -> ~SvXMLExport) were definitely
/not/ synchronized via any mutex.
The xmloff::token::Inc/DecRescheduleCount functions are now pointless and have
been removed, too.
Change-Id: I85905d4de1f042ed5c9a37589f942910d8ef80fd
Diffstat (limited to 'xmloff/source/core/xmlexp.cxx')
-rw-r--r-- | xmloff/source/core/xmlexp.cxx | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/xmloff/source/core/xmlexp.cxx b/xmloff/source/core/xmlexp.cxx index 1c7643342586..43c3d4dd2576 100644 --- a/xmloff/source/core/xmlexp.cxx +++ b/xmloff/source/core/xmlexp.cxx @@ -578,8 +578,6 @@ SvXMLExport::~SvXMLExport() delete mpNumExport; } - xmloff::token::ResetTokens(); - if (mxEventListener.is() && mxModel.is()) mxModel->removeEventListener(mxEventListener); |