Commit 5fd0d627 authored by Pavel Vainerman's avatar Pavel Vainerman

(Activator): перевёл на использование rwmutex.

parent 50510e3c
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
#include "UniSetActivator.h" #include "UniSetActivator.h"
#include "Debug.h" #include "Debug.h"
#include "Configuration.h" #include "Configuration.h"
#include "Mutex.h"
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
using namespace UniSetTypes; using namespace UniSetTypes;
...@@ -52,7 +53,7 @@ using namespace std; ...@@ -52,7 +53,7 @@ using namespace std;
*/ */
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
/*! замок для блокирования совместного доступа к функции обрабтки сигналов */ /*! замок для блокирования совместного доступа к функции обрабтки сигналов */
static UniSetTypes::uniset_mutex signalMutex("Activator::signalMutex"); static UniSetTypes::uniset_rwmutex signalMutex("Activator::signalMutex");
// static UniSetTypes::uniset_mutex waittermMutex("Activator::waittermMutex"); // static UniSetTypes::uniset_mutex waittermMutex("Activator::waittermMutex");
/*! замок для блокирования совместного к списку получателей сигналов */ /*! замок для блокирования совместного к списку получателей сигналов */
...@@ -249,6 +250,7 @@ void UniSetActivator::stop() ...@@ -249,6 +250,7 @@ void UniSetActivator::stop()
if( ulog.is_system() ) if( ulog.is_system() )
ulog.system() << myname << "(stop): discard request ok."<< endl; ulog.system() << myname << "(stop): discard request ok."<< endl;
/*
try try
{ {
if( ulog.is_system() ) if( ulog.is_system() )
...@@ -259,7 +261,8 @@ void UniSetActivator::stop() ...@@ -259,7 +261,8 @@ void UniSetActivator::stop()
if( ulog.is_system() ) if( ulog.is_system() )
ulog.system() << myname << "(stop): shutdown ok."<< endl; ulog.system() << myname << "(stop): shutdown ok."<< endl;
} */
}
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
...@@ -451,7 +454,7 @@ void UniSetActivator::terminated( int signo ) ...@@ -451,7 +454,7 @@ void UniSetActivator::terminated( int signo )
{ // lock { // lock
// на случай прихода нескольких сигналов // на случай прихода нескольких сигналов
uniset_mutex_lock l(signalMutex, TERMINATE_TIMEOUT*1000); uniset_rwmutex_wrlock l(signalMutex); //, TERMINATE_TIMEOUT*1000);
if( !procterm ) if( !procterm )
{ {
procterm = 1; procterm = 1;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment