diff options
Diffstat (limited to 'unotools')
-rw-r--r-- | unotools/Library_utl.mk | 1 | ||||
-rw-r--r-- | unotools/source/i18n/localedatawrapper.cxx | 13 | ||||
-rw-r--r-- | unotools/source/i18n/readwritemutexguard.cxx | 109 |
3 files changed, 0 insertions, 123 deletions
diff --git a/unotools/Library_utl.mk b/unotools/Library_utl.mk index e0059567baa4..66c08480db69 100644 --- a/unotools/Library_utl.mk +++ b/unotools/Library_utl.mk @@ -90,7 +90,6 @@ $(eval $(call gb_Library_add_exception_objects,utl,\ unotools/source/i18n/intlwrapper \ unotools/source/i18n/localedatawrapper \ unotools/source/i18n/nativenumberwrapper \ - unotools/source/i18n/readwritemutexguard \ unotools/source/i18n/textsearch \ unotools/source/i18n/transliterationwrapper \ unotools/source/misc/closeveto \ diff --git a/unotools/source/i18n/localedatawrapper.cxx b/unotools/source/i18n/localedatawrapper.cxx index e0e91bbbac79..39e01f563392 100644 --- a/unotools/source/i18n/localedatawrapper.cxx +++ b/unotools/source/i18n/localedatawrapper.cxx @@ -277,19 +277,6 @@ css::i18n::ForbiddenCharacters LocaleDataWrapper::getForbiddenCharacters() const return css::i18n::ForbiddenCharacters(); } -css::uno::Sequence< OUString > LocaleDataWrapper::getReservedWord() const -{ - try - { - return xLD->getReservedWord( getMyLocale() ); - } - catch ( const Exception& ) - { - TOOLS_WARN_EXCEPTION( "unotools.i18n", "getReservedWord" ); - } - return css::uno::Sequence< OUString >(0); -} - css::uno::Sequence< css::lang::Locale > LocaleDataWrapper::getAllInstalledLocaleNames() const { uno::Sequence< lang::Locale > &rInstalledLocales = InstalledLocales::get(); diff --git a/unotools/source/i18n/readwritemutexguard.cxx b/unotools/source/i18n/readwritemutexguard.cxx deleted file mode 100644 index 48da011b7537..000000000000 --- a/unotools/source/i18n/readwritemutexguard.cxx +++ /dev/null @@ -1,109 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#include <unotools/readwritemutexguard.hxx> -#include <tools/debug.hxx> - -namespace utl { - -ReadWriteGuard::ReadWriteGuard( ReadWriteMutex& rMutexP, - ReadWriteGuardMode nRequestMode ) - : rMutex( rMutexP ) -{ - // don't do anything until a pending write completed (or another - // ReadWriteGuard leaves the ctor phase) - ::osl::MutexGuard aGuard( rMutex.maWriteMutex ); - nMode = nRequestMode; - if ( nMode & ReadWriteGuardMode::Write ) - { - rMutex.maWriteMutex.acquire(); - // wait for any read to complete -// TODO: set up a waiting thread instead of a loop - bool bWait = true; - do - { - rMutex.maMutex.acquire(); - bWait = (rMutex.nReadCount != 0); - if ( nMode & ReadWriteGuardMode::CriticalChange ) - bWait |= (rMutex.nBlockCriticalCount != 0); - rMutex.maMutex.release(); - } while ( bWait ); - } - else if ( nMode & ReadWriteGuardMode::BlockCritical ) - { - rMutex.maMutex.acquire(); - ++rMutex.nBlockCriticalCount; - rMutex.maMutex.release(); - } - else - { - rMutex.maMutex.acquire(); - ++rMutex.nReadCount; - rMutex.maMutex.release(); - } -} - -ReadWriteGuard::~ReadWriteGuard() -{ - if ( nMode & ReadWriteGuardMode::Write ) - rMutex.maWriteMutex.release(); - else if ( nMode & ReadWriteGuardMode::BlockCritical ) - { - rMutex.maMutex.acquire(); - --rMutex.nBlockCriticalCount; - rMutex.maMutex.release(); - } - else - { - rMutex.maMutex.acquire(); - --rMutex.nReadCount; - rMutex.maMutex.release(); - } -} - -void ReadWriteGuard::changeReadToWrite() -{ - bool bOk = !(nMode & (ReadWriteGuardMode::Write | ReadWriteGuardMode::BlockCritical)); - DBG_ASSERT( bOk, "ReadWriteGuard::changeReadToWrite: can't" ); - if ( !bOk ) - return; - - // MUST release read before acquiring write mutex or dead lock would - // occur if there was a write in another thread waiting for this read - // to complete. - rMutex.maMutex.acquire(); - --rMutex.nReadCount; - rMutex.maMutex.release(); - - rMutex.maWriteMutex.acquire(); - nMode |= ReadWriteGuardMode::Write; - // wait for any other read to complete -// TODO: set up a waiting thread instead of a loop - bool bWait = true; - do - { - rMutex.maMutex.acquire(); - bWait = (rMutex.nReadCount != 0); - rMutex.maMutex.release(); - } while ( bWait ); -} - -} // namespace utl - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |