X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=include%2Fanna%2Fcore%2Fmt%2FMutex.hpp;h=fcbe16ef7ed65390d1bda4f4631c3a5ff8f49d1c;hb=5a6cba5fde2b2f538a7515f8293cc0a8d9589dfa;hp=c7d9477b3eff13ce2bc63ec4f32c6037214e7747;hpb=3e258840b15577cb8bda3cdedd0b9b88e16404b3;p=anna.git diff --git a/include/anna/core/mt/Mutex.hpp b/include/anna/core/mt/Mutex.hpp index c7d9477..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 -// -// https://bitbucket.org/testillano/anna -// -// 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 Google Inc. 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