diff options
author | Kohei Yoshida <kohei.yoshida@collabora.com> | 2013-11-07 13:35:24 -0500 |
---|---|---|
committer | Kohei Yoshida <kohei.yoshida@collabora.com> | 2013-11-11 16:17:27 -0500 |
commit | 6122a6c272436f0f1959f160406d2e4ecdd1a733 (patch) | |
tree | 04eab77c0c87fd2e033b7691994b97a0dbdd498d /i18npool/source/characterclassification | |
parent | 94934248e73defcf96d2e58089b0a731b191f015 (diff) |
Guard CharacterClassificationImpl with mutex.
They are accessed from multiple threads frequently.
Change-Id: I3f9720ede076109efe0b7eaa4a05dd50f2e38102
Diffstat (limited to 'i18npool/source/characterclassification')
-rw-r--r-- | i18npool/source/characterclassification/characterclassificationImpl.cxx | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/i18npool/source/characterclassification/characterclassificationImpl.cxx b/i18npool/source/characterclassification/characterclassificationImpl.cxx index d65b5a5e8018..edcf9dbbbf25 100644 --- a/i18npool/source/characterclassification/characterclassificationImpl.cxx +++ b/i18npool/source/characterclassification/characterclassificationImpl.cxx @@ -47,6 +47,7 @@ OUString SAL_CALL CharacterClassificationImpl::toUpper( const OUString& Text, sal_Int32 nPos, sal_Int32 nCount, const Locale& rLocale ) throw(RuntimeException) { + osl::MutexGuard aGuard(&maMtx); return getLocaleSpecificCharacterClassification(rLocale)->toUpper(Text, nPos, nCount, rLocale); } @@ -54,6 +55,7 @@ OUString SAL_CALL CharacterClassificationImpl::toLower( const OUString& Text, sal_Int32 nPos, sal_Int32 nCount, const Locale& rLocale ) throw(RuntimeException) { + osl::MutexGuard aGuard(&maMtx); return getLocaleSpecificCharacterClassification(rLocale)->toLower(Text, nPos, nCount, rLocale); } @@ -61,6 +63,7 @@ OUString SAL_CALL CharacterClassificationImpl::toTitle( const OUString& Text, sal_Int32 nPos, sal_Int32 nCount, const Locale& rLocale ) throw(RuntimeException) { + osl::MutexGuard aGuard(&maMtx); return getLocaleSpecificCharacterClassification(rLocale)->toTitle(Text, nPos, nCount, rLocale); } @@ -68,6 +71,7 @@ sal_Int16 SAL_CALL CharacterClassificationImpl::getType( const OUString& Text, sal_Int32 nPos ) throw(RuntimeException) { + osl::MutexGuard aGuard(&maMtx); if (xUCI.is()) return xUCI->getType(Text, nPos); throw RuntimeException(); @@ -77,6 +81,7 @@ sal_Int16 SAL_CALL CharacterClassificationImpl::getCharacterDirection( const OUString& Text, sal_Int32 nPos ) throw(RuntimeException) { + osl::MutexGuard aGuard(&maMtx); if (xUCI.is()) return xUCI->getCharacterDirection(Text, nPos); throw RuntimeException(); @@ -86,6 +91,7 @@ sal_Int16 SAL_CALL CharacterClassificationImpl::getScript( const OUString& Text, sal_Int32 nPos ) throw(RuntimeException) { + osl::MutexGuard aGuard(&maMtx); if (xUCI.is()) return xUCI->getScript(Text, nPos); throw RuntimeException(); @@ -95,6 +101,7 @@ sal_Int32 SAL_CALL CharacterClassificationImpl::getCharacterType( const OUString& Text, sal_Int32 nPos, const Locale& rLocale ) throw(RuntimeException) { + osl::MutexGuard aGuard(&maMtx); return getLocaleSpecificCharacterClassification(rLocale)->getCharacterType(Text, nPos, rLocale); } @@ -102,6 +109,7 @@ sal_Int32 SAL_CALL CharacterClassificationImpl::getStringType( const OUString& Text, sal_Int32 nPos, sal_Int32 nCount, const Locale& rLocale ) throw(RuntimeException) { + osl::MutexGuard aGuard(&maMtx); return getLocaleSpecificCharacterClassification(rLocale)->getStringType(Text, nPos, nCount, rLocale); } @@ -111,6 +119,7 @@ ParseResult SAL_CALL CharacterClassificationImpl::parseAnyToken( sal_Int32 contCharTokenType, const OUString& userDefinedCharactersCont ) throw(RuntimeException) { + osl::MutexGuard aGuard(&maMtx); return getLocaleSpecificCharacterClassification(rLocale)->parseAnyToken(Text, nPos, rLocale, startCharTokenType,userDefinedCharactersStart, contCharTokenType, userDefinedCharactersCont); @@ -123,6 +132,7 @@ ParseResult SAL_CALL CharacterClassificationImpl::parsePredefinedToken( const OUString& userDefinedCharactersStart, sal_Int32 contCharTokenType, const OUString& userDefinedCharactersCont ) throw(RuntimeException) { + osl::MutexGuard aGuard(&maMtx); return getLocaleSpecificCharacterClassification(rLocale)->parsePredefinedToken( nTokenType, Text, nPos, rLocale, startCharTokenType, userDefinedCharactersStart, contCharTokenType, userDefinedCharactersCont); |