X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=include%2Fanna%2Fcore%2Fmt%2FSemaphore.hpp;h=1b1e3f3ae573ecbde35ac94a2b9e94d55605cbb8;hb=5a6cba5fde2b2f538a7515f8293cc0a8d9589dfa;hp=fbe9a118c893f039f3094b75d23b8d36754a098e;hpb=93366a0bda79e6fd6e7dad6316bfcf8cc82f5731;p=anna.git diff --git a/include/anna/core/mt/Semaphore.hpp b/include/anna/core/mt/Semaphore.hpp index fbe9a11..1b1e3f3 100644 --- a/include/anna/core/mt/Semaphore.hpp +++ b/include/anna/core/mt/Semaphore.hpp @@ -45,7 +45,7 @@ public: /** Destructor. */ - ~Semaphore(); + virtual ~Semaphore(); /** Notifica que desea acceder al recurso. Si se ha alcanzado la cuenta maxima de accesos @@ -54,25 +54,25 @@ public: Cada llamada a este metodo debe tener su correspondiente llamada a #signal. */ - void wait() throw(RuntimeException); + void wait() noexcept(false); /** Comprueba si se ha alcanzado la cuenta maxima de accesos simultaneos y devolvera \em true si todavia es posible acceder sin quedar bloqueado o \em false en otro caso. */ - bool tryWait() throw(RuntimeException); + bool tryWait() noexcept(false); /** Decrementa la cuenta de utilizacion del recurso, con lo que algunos de los threads que puede haber esperando se desbloqueara. */ - void signal() throw(RuntimeException); + void signal() noexcept(false); /** Devuelve una cadena con informacion relevante de esta instancia. \return Una cadena con informacion relevante de esta instancia. */ - virtual std::string asString() const throw(); + virtual std::string asString() const ; protected: /** @@ -81,7 +81,7 @@ protected: Es muy aconsejable delegar las llamadas a estos metodos en una instancia Guard. \return Siempre devuelve \em true; */ - void lock() throw(RuntimeException) { wait(); } + void lock() noexcept(false) { wait(); } /** Indica el final del acceso seguro iniciado al invocar #lock. @@ -89,7 +89,7 @@ protected: Es muy aconsejable delegar las llamadas a estos metodos en una instancia Guard. \return Siempre devuelve \em true; */ - void unlock() throw() { signal(); } + void unlock() { signal(); } private: sem_t a_id;