X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=include%2Fanna%2Fcore%2Fmt%2FMutex.hpp;h=fcbe16ef7ed65390d1bda4f4631c3a5ff8f49d1c;hb=f34b8069233e9e09208339bb79d8576c1ff962e1;hp=3e75776afe995160f30a26d99e211105ed6c4f5d;hpb=39033fd99e58e994a5e98c1060dcc79e0d81f9c9;p=anna.git diff --git a/include/anna/core/mt/Mutex.hpp b/include/anna/core/mt/Mutex.hpp index 3e75776..fcbe16e 100644 --- a/include/anna/core/mt/Mutex.hpp +++ b/include/anna/core/mt/Mutex.hpp @@ -1,37 +1,9 @@ -// ANNA - Anna is Not Nothingness Anymore -// -// (c) Copyright 2005-2014 Eduardo Ramos Testillano & Francisco Ruiz Rayo -// -// http://redmine.teslayout.com/projects/anna-suite -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of the copyright holder nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Authors: eduardo.ramos.testillano@gmail.com -// cisco.tierra@gmail.com +// ANNA - Anna is Not Nothingness Anymore // +// // +// (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo // +// // +// See project site at http://redmine.teslayout.com/projects/anna-suite // +// See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE // #ifndef anna_core_mt_Mutex_hpp @@ -79,9 +51,9 @@ public: */ virtual ~Mutex(); - virtual void lock() throw(RuntimeException); + virtual void lock() noexcept(false); - virtual void unlock() throw(); + virtual void unlock() ; /** * Devuelve \em true en caso de que haya conseguido bloquear el mutex, o @@ -89,13 +61,13 @@ public: * \return \em true en caso de que haya conseguido bloquear el mutex, o * \em false en otro caso. */ - bool trylock() throw(RuntimeException); + bool trylock() noexcept(false); /** * Operador de conversión. * \return El \em pthread_mutex_t asociado a esta instancia. */ - operator const pthread_mutex_t*() const throw() { + operator const pthread_mutex_t*() const { #ifdef _MT return &a_id; #else @@ -120,8 +92,8 @@ private: */ #define anna_declare_mutex(ClassName) \ anna::Mutex a_autoMutex; \ - void lock () throw (anna::RuntimeException) { a_autoMutex.lock (); } \ - void unlock () throw () { a_autoMutex.unlock (); } \ + void lock () noexcept(false) { a_autoMutex.lock (); } \ + void unlock () { a_autoMutex.unlock (); } \ friend class anna::Guard ; #define anna_access_mutex a_autoMutex