Commit 56f35e19 authored by Pavel Vainerman's avatar Pavel Vainerman

Убрал "mutex_atomic_t", перевёл на использование std::atomic_..

parent 55cd976f
...@@ -234,7 +234,7 @@ ...@@ -234,7 +234,7 @@
inline const std::string getProp(const std::string& name) { return UniSetTypes::conf->getProp(confnode, name); } inline const std::string getProp(const std::string& name) { return UniSetTypes::conf->getProp(confnode, name); }
int smReadyTimeout; /*!< время ожидания готовности SM */ int smReadyTimeout; /*!< время ожидания готовности SM */
UniSetTypes::mutex_atomic_t activated; std::atomic_bool activated;
int activateTimeout; /*!< время ожидания готовности UniSetObject к работе */ int activateTimeout; /*!< время ожидания готовности UniSetObject к работе */
PassiveTimer ptStartUpTimeout; /*!< время на блокировку обработки WatchDog, если недавно был StartUp */ PassiveTimer ptStartUpTimeout; /*!< время на блокировку обработки WatchDog, если недавно был StartUp */
int askPause; /*!< пауза между неудачными попытками заказать датчики */ int askPause; /*!< пауза между неудачными попытками заказать датчики */
...@@ -350,10 +350,10 @@ bool <xsl:value-of select="$CLASSNAME"/>_SK::activateObject() ...@@ -350,10 +350,10 @@ bool <xsl:value-of select="$CLASSNAME"/>_SK::activateObject()
// пока не пройдёт инициализация датчиков // пока не пройдёт инициализация датчиков
// см. sysCommand() // см. sysCommand()
{ {
activated = 0; activated = false;
<xsl:if test="normalize-space($BASECLASS)!=''"><xsl:value-of select="normalize-space($BASECLASS)"/>::activateObject();</xsl:if> <xsl:if test="normalize-space($BASECLASS)!=''"><xsl:value-of select="normalize-space($BASECLASS)"/>::activateObject();</xsl:if>
<xsl:if test="normalize-space($BASECLASS)=''">UniSetObject::activateObject();</xsl:if> <xsl:if test="normalize-space($BASECLASS)=''">UniSetObject::activateObject();</xsl:if>
activated = 1; activated = true;
} }
return true; return true;
...@@ -522,7 +522,7 @@ idHeartBeat(DefaultObjectId), ...@@ -522,7 +522,7 @@ idHeartBeat(DefaultObjectId),
maxHeartBeat(10), maxHeartBeat(10),
confnode(0), confnode(0),
smReadyTimeout(0), smReadyTimeout(0),
activated(0), activated(false),
askPause(2000), askPause(2000),
<xsl:for-each select="//variables/item"> <xsl:for-each select="//variables/item">
<xsl:if test="normalize-space(@private)!=''"> <xsl:if test="normalize-space(@private)!=''">
...@@ -586,7 +586,7 @@ idHeartBeat(DefaultObjectId), ...@@ -586,7 +586,7 @@ idHeartBeat(DefaultObjectId),
maxHeartBeat(10), maxHeartBeat(10),
confnode(cnode), confnode(cnode),
smReadyTimeout(0), smReadyTimeout(0),
activated(0), activated(false),
askPause(conf->getPIntProp(cnode,"askPause",2000)), askPause(conf->getPIntProp(cnode,"askPause",2000)),
<xsl:for-each select="//variables/item"> <xsl:for-each select="//variables/item">
<xsl:if test="normalize-space(@private)!=''"> <xsl:if test="normalize-space(@private)!=''">
...@@ -872,7 +872,7 @@ idLocalTestMode_S(DefaultObjectId), ...@@ -872,7 +872,7 @@ idLocalTestMode_S(DefaultObjectId),
idHeartBeat(DefaultObjectId), idHeartBeat(DefaultObjectId),
maxHeartBeat(10), maxHeartBeat(10),
confnode(0), confnode(0),
activated(0), activated(false),
askPause(2000) askPause(2000)
{ {
ucrit &lt;&lt; "<xsl:value-of select="$CLASSNAME"/>: init failed!!!!!!!!!!!!!!!" &lt;&lt; endl; ucrit &lt;&lt; "<xsl:value-of select="$CLASSNAME"/>: init failed!!!!!!!!!!!!!!!" &lt;&lt; endl;
...@@ -906,7 +906,7 @@ in_LocalTestMode_S(false), ...@@ -906,7 +906,7 @@ in_LocalTestMode_S(false),
idHeartBeat(DefaultObjectId), idHeartBeat(DefaultObjectId),
maxHeartBeat(10), maxHeartBeat(10),
confnode(cnode), confnode(cnode),
activated(0), activated(false),
askPause(conf->getPIntProp(cnode,"askPause",2000)) askPause(conf->getPIntProp(cnode,"askPause",2000))
{ {
if( getId() == DefaultObjectId ) if( getId() == DefaultObjectId )
......
...@@ -43,7 +43,7 @@ IOControl::IOControl( UniSetTypes::ObjectId id, UniSetTypes::ObjectId icID, ...@@ -43,7 +43,7 @@ IOControl::IOControl( UniSetTypes::ObjectId id, UniSetTypes::ObjectId icID,
force(false), force(false),
force_out(false), force_out(false),
maxCardNum(10), maxCardNum(10),
activated(0), activated(false),
readconf_ok(false), readconf_ok(false),
term(false), term(false),
testMode_as(UniSetTypes::DefaultObjectId), testMode_as(UniSetTypes::DefaultObjectId),
...@@ -786,9 +786,9 @@ bool IOControl::activateObject() ...@@ -786,9 +786,9 @@ bool IOControl::activateObject()
// пока не пройдёт инициализация датчиков // пока не пройдёт инициализация датчиков
// см. sysCommand() // см. sysCommand()
{ {
activated = 0; activated = false;
UniSetObject::activateObject(); UniSetObject::activateObject();
activated = 1; activated = true;
} }
return true; return true;
......
...@@ -367,7 +367,7 @@ class IOControl: ...@@ -367,7 +367,7 @@ class IOControl:
int maxCardNum; /*! максимально разрешённый номер для карты */ int maxCardNum; /*! максимально разрешённый номер для карты */
UniSetTypes::uniset_mutex iopollMutex; UniSetTypes::uniset_mutex iopollMutex;
UniSetTypes::mutex_atomic_t activated; std::atomic_bool activated;
bool readconf_ok; bool readconf_ok;
int activateTimeout; int activateTimeout;
UniSetTypes::ObjectId sidTestSMReady; UniSetTypes::ObjectId sidTestSMReady;
......
...@@ -22,7 +22,7 @@ force_out(false), ...@@ -22,7 +22,7 @@ force_out(false),
mbregFromID(false), mbregFromID(false),
sidExchangeMode(DefaultObjectId), sidExchangeMode(DefaultObjectId),
exchangeMode(emNone), exchangeMode(emNone),
activated(0), activated(false),
noQueryOptimization(false), noQueryOptimization(false),
no_extimer(false), no_extimer(false),
prefix(prefix), prefix(prefix),
...@@ -226,7 +226,7 @@ bool MBExchange::checkProcActive() ...@@ -226,7 +226,7 @@ bool MBExchange::checkProcActive()
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void MBExchange::setProcActive( bool st ) void MBExchange::setProcActive( bool st )
{ {
activated = (st ? 1 : 0); activated = st;
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void MBExchange::sigterm( int signo ) void MBExchange::sigterm( int signo )
......
...@@ -299,7 +299,7 @@ class MBExchange: ...@@ -299,7 +299,7 @@ class MBExchange:
IOController::IOStateList::iterator itExchangeMode; IOController::IOStateList::iterator itExchangeMode;
long exchangeMode; /*!< режим работы см. ExchangeMode */ long exchangeMode; /*!< режим работы см. ExchangeMode */
UniSetTypes::mutex_atomic_t activated; std::atomic_bool activated;
int activateTimeout; int activateTimeout;
bool noQueryOptimization; bool noQueryOptimization;
bool no_extimer; bool no_extimer;
......
...@@ -21,7 +21,7 @@ askcount_id(DefaultObjectId), ...@@ -21,7 +21,7 @@ askcount_id(DefaultObjectId),
respond_id(DefaultObjectId), respond_id(DefaultObjectId),
respond_invert(false), respond_invert(false),
askCount(0), askCount(0),
activated(0), activated(false),
activateTimeout(500), activateTimeout(500),
pingOK(true), pingOK(true),
force(false), force(false),
...@@ -711,11 +711,11 @@ bool MBSlave::activateObject() ...@@ -711,11 +711,11 @@ bool MBSlave::activateObject()
// пока не пройдёт инициализация датчиков // пока не пройдёт инициализация датчиков
// см. sysCommand() // см. sysCommand()
{ {
activated = 0; activated = false;
UniSetTypes::uniset_rwmutex_wrlock l(mutex_start); UniSetTypes::uniset_rwmutex_wrlock l(mutex_start);
UniSetObject_LT::activateObject(); UniSetObject_LT::activateObject();
initIterators(); initIterators();
activated = 1; activated = true;
} }
return true; return true;
...@@ -724,7 +724,7 @@ bool MBSlave::activateObject() ...@@ -724,7 +724,7 @@ bool MBSlave::activateObject()
void MBSlave::sigterm( int signo ) void MBSlave::sigterm( int signo )
{ {
dinfo << myname << ": ********* SIGTERM(" << signo <<") ********" << endl; dinfo << myname << ": ********* SIGTERM(" << signo <<") ********" << endl;
activated = 0; activated = false;
try try
{ {
if( mbslot ) if( mbslot )
......
...@@ -186,7 +186,7 @@ class MBSlave: ...@@ -186,7 +186,7 @@ class MBSlave:
typedef std::map<ModbusRTU::mbErrCode,unsigned int> ExchangeErrorMap; typedef std::map<ModbusRTU::mbErrCode,unsigned int> ExchangeErrorMap;
ExchangeErrorMap errmap; /*!< статистика обмена */ ExchangeErrorMap errmap; /*!< статистика обмена */
UniSetTypes::mutex_atomic_t activated; std::atomic_bool activated;
int activateTimeout; int activateTimeout;
bool pingOK; bool pingOK;
timeout_t wait_msec; timeout_t wait_msec;
......
...@@ -36,8 +36,8 @@ SharedMemory::SharedMemory( ObjectId id, const std::string& datafile, const std: ...@@ -36,8 +36,8 @@ SharedMemory::SharedMemory( ObjectId id, const std::string& datafile, const std:
heartbeatCheckTime(5000), heartbeatCheckTime(5000),
histSaveTime(0), histSaveTime(0),
wdt(0), wdt(0),
activated(0), activated(false),
workready(0), workready(false),
dblogging(false), dblogging(false),
msecPulsar(0) msecPulsar(0)
{ {
...@@ -233,7 +233,7 @@ bool SharedMemory::activateObject() ...@@ -233,7 +233,7 @@ bool SharedMemory::activateObject()
// пока не пройдёт инициализация датчиков // пока не пройдёт инициализация датчиков
// см. sysCommand() // см. sysCommand()
{ {
activated = 0; activated = false;
UniSetTypes::uniset_rwmutex_wrlock l(mutex_start); UniSetTypes::uniset_rwmutex_wrlock l(mutex_start);
res = IONotifyController_LT::activateObject(); res = IONotifyController_LT::activateObject();
...@@ -252,7 +252,7 @@ bool SharedMemory::activateObject() ...@@ -252,7 +252,7 @@ bool SharedMemory::activateObject()
hit.ioit = myioEnd(); hit.ioit = myioEnd();
} }
activated = 1; activated = true;
} }
cerr << "************************** activate: " << pt.getCurrent() << " msec " << endl; cerr << "************************** activate: " << pt.getCurrent() << " msec " << endl;
......
...@@ -407,8 +407,8 @@ class SharedMemory: ...@@ -407,8 +407,8 @@ class SharedMemory:
typedef std::list<HeartBeatInfo> HeartBeatList; typedef std::list<HeartBeatInfo> HeartBeatList;
HeartBeatList hlist; // список датчиков "сердцебиения" HeartBeatList hlist; // список датчиков "сердцебиения"
WDTInterface* wdt; WDTInterface* wdt;
UniSetTypes::mutex_atomic_t activated; std::atomic_bool activated;
UniSetTypes::mutex_atomic_t workready; std::atomic_bool workready;
typedef std::list<UniSetTypes::ObjectId> EventList; typedef std::list<UniSetTypes::ObjectId> EventList;
EventList elst; EventList elst;
......
...@@ -11,7 +11,7 @@ UNetExchange::UNetExchange( UniSetTypes::ObjectId objId, UniSetTypes::ObjectId s ...@@ -11,7 +11,7 @@ UNetExchange::UNetExchange( UniSetTypes::ObjectId objId, UniSetTypes::ObjectId s
UniSetObject_LT(objId), UniSetObject_LT(objId),
shm(0), shm(0),
initPause(0), initPause(0),
activated(0), activated(false),
no_sender(false), no_sender(false),
sender(0), sender(0),
sender2(0) sender2(0)
...@@ -576,11 +576,11 @@ bool UNetExchange::activateObject() ...@@ -576,11 +576,11 @@ bool UNetExchange::activateObject()
// пока не пройдёт инициализация датчиков // пока не пройдёт инициализация датчиков
// см. sysCommand() // см. sysCommand()
{ {
activated = 0; activated = false;
UniSetTypes::uniset_rwmutex_wrlock l(mutex_start); UniSetTypes::uniset_rwmutex_wrlock l(mutex_start);
UniSetObject_LT::activateObject(); UniSetObject_LT::activateObject();
initIterators(); initIterators();
activated = 1; activated = true;
} }
return true; return true;
...@@ -589,7 +589,7 @@ bool UNetExchange::activateObject() ...@@ -589,7 +589,7 @@ bool UNetExchange::activateObject()
void UNetExchange::sigterm( int signo ) void UNetExchange::sigterm( int signo )
{ {
dinfo << myname << ": ********* SIGTERM(" << signo <<") ********" << endl; dinfo << myname << ": ********* SIGTERM(" << signo <<") ********" << endl;
activated = 0; activated = false;
for( auto &it: recvlist ) for( auto &it: recvlist )
{ {
try try
......
...@@ -134,7 +134,7 @@ class UNetExchange: ...@@ -134,7 +134,7 @@ class UNetExchange:
int steptime; /*!< периодичность вызова step, [мсек] */ int steptime; /*!< периодичность вызова step, [мсек] */
UniSetTypes::mutex_atomic_t activated; std::atomic_bool activated;
int activateTimeout; int activateTimeout;
struct ReceiverInfo struct ReceiverInfo
......
...@@ -31,7 +31,7 @@ lostPackets(0), ...@@ -31,7 +31,7 @@ lostPackets(0),
sidRespond(UniSetTypes::DefaultObjectId), sidRespond(UniSetTypes::DefaultObjectId),
respondInvert(false), respondInvert(false),
sidLostPackets(UniSetTypes::DefaultObjectId), sidLostPackets(UniSetTypes::DefaultObjectId),
activated(0), activated(false),
r_thr(0), r_thr(0),
u_thr(0), u_thr(0),
pnum(0), pnum(0),
...@@ -160,7 +160,7 @@ void UNetReceiver::start() ...@@ -160,7 +160,7 @@ void UNetReceiver::start()
{ {
if( !activated ) if( !activated )
{ {
activated = 1; activated = true;
u_thr->start(); u_thr->start();
r_thr->start(); r_thr->start();
} }
...@@ -348,7 +348,7 @@ void UNetReceiver::real_update() ...@@ -348,7 +348,7 @@ void UNetReceiver::real_update()
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void UNetReceiver::stop() void UNetReceiver::stop()
{ {
activated = 0; activated = false;
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void UNetReceiver::receive() void UNetReceiver::receive()
......
...@@ -130,7 +130,7 @@ class UNetReceiver ...@@ -130,7 +130,7 @@ class UNetReceiver
UniSetTypes::ObjectId sidLostPackets; UniSetTypes::ObjectId sidLostPackets;
IOController::IOStateList::iterator itLostPackets; IOController::IOStateList::iterator itLostPackets;
UniSetTypes::mutex_atomic_t activated; std::atomic_bool activated;
ThreadCreator<UNetReceiver>* r_thr; // receive thread ThreadCreator<UNetReceiver>* r_thr; // receive thread
ThreadCreator<UNetReceiver>* u_thr; // update thread ThreadCreator<UNetReceiver>* u_thr; // update thread
......
...@@ -15,7 +15,7 @@ s_fvalue(s_val), ...@@ -15,7 +15,7 @@ s_fvalue(s_val),
shm(smi), shm(smi),
s_host(s_host), s_host(s_host),
sendpause(150), sendpause(150),
activated(0), activated(false),
dlist(100), dlist(100),
maxItem(0), maxItem(0),
packetnum(1), packetnum(1),
...@@ -195,7 +195,7 @@ void UNetSender::real_send() ...@@ -195,7 +195,7 @@ void UNetSender::real_send()
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void UNetSender::stop() void UNetSender::stop()
{ {
activated = 0; activated = false;
// s_thr->stop(); // s_thr->stop();
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
...@@ -203,7 +203,7 @@ void UNetSender::start() ...@@ -203,7 +203,7 @@ void UNetSender::start()
{ {
if( !activated ) if( !activated )
{ {
activated = 1; activated = true;
s_thr->start(); s_thr->start();
} }
} }
......
...@@ -86,7 +86,7 @@ class UNetSender ...@@ -86,7 +86,7 @@ class UNetSender
std::string myname; std::string myname;
int sendpause; int sendpause;
UniSetTypes::mutex_atomic_t activated; std::atomic_bool activated;
UniSetTypes::uniset_rwmutex pack_mutex; UniSetTypes::uniset_rwmutex pack_mutex;
UniSetUDP::UDPMessage mypack; UniSetUDP::UDPMessage mypack;
......
...@@ -119,7 +119,7 @@ class UObject_SK: ...@@ -119,7 +119,7 @@ class UObject_SK:
inline const std::string getProp(const std::string& name) { return UniSetTypes::conf->getProp(confnode, name); } inline const std::string getProp(const std::string& name) { return UniSetTypes::conf->getProp(confnode, name); }
int smReadyTimeout; /*!< время ожидания готовности SM */ int smReadyTimeout; /*!< время ожидания готовности SM */
UniSetTypes::mutex_atomic_t activated; std::atomic_bool activated;
int activateTimeout; /*!< время ожидания готовности UniSetObject к работе */ int activateTimeout; /*!< время ожидания готовности UniSetObject к работе */
PassiveTimer ptStartUpTimeout; /*!< время на блокировку обработки WatchDog, если недавно был StartUp */ PassiveTimer ptStartUpTimeout; /*!< время на блокировку обработки WatchDog, если недавно был StartUp */
int askPause; /*!< пауза между неудачными попытками заказать датчики */ int askPause; /*!< пауза между неудачными попытками заказать датчики */
......
...@@ -297,9 +297,9 @@ bool UObject_SK::activateObject() ...@@ -297,9 +297,9 @@ bool UObject_SK::activateObject()
// пока не пройдёт инициализация датчиков // пока не пройдёт инициализация датчиков
// см. sysCommand() // см. sysCommand()
{ {
activated = 0; activated = false;
UniSetObject::activateObject(); UniSetObject::activateObject();
activated = 1; activated = true;
} }
return true; return true;
......
...@@ -32,8 +32,6 @@ ...@@ -32,8 +32,6 @@
// ----------------------------------------------------------------------------------------- // -----------------------------------------------------------------------------------------
namespace UniSetTypes namespace UniSetTypes
{ {
typedef std::atomic_int mutex_atomic_t;
class uniset_mutex class uniset_mutex
{ {
public: public:
......
...@@ -220,7 +220,7 @@ class UniSetObject: ...@@ -220,7 +220,7 @@ class UniSetObject:
pid_t msgpid; // pid потока обработки сообщений pid_t msgpid; // pid потока обработки сообщений
bool reg; bool reg;
UniSetTypes::mutex_atomic_t active; std::atomic_bool active;
bool threadcreate; bool threadcreate;
UniSetTimer* tmr; UniSetTimer* tmr;
......
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