inline
ACTIONS_LIST::ACTIONS_LIST()
- : mutex()
{
-pthread_mutex_init(&mutex, NULL);
}
// Delete all actions before deleting list
inline
ACTIONS_LIST::~ACTIONS_LIST()
{
+std::lock_guard lock(m_mutex);
- {
- STG_LOCKER lock(&mutex);
-
- parent::iterator it(parent::begin());
- while (it != parent::end())
- {
- delete *it++;
- }
- }
-
-pthread_mutex_destroy(&mutex);
+parent::iterator it(parent::begin());
+while (it != parent::end())
+ delete *it++;
}
inline
ACTIONS_LIST::parent::iterator ACTIONS_LIST::begin()
{
-STG_LOCKER lock(&mutex);
+std::lock_guard lock(m_mutex);
return parent::begin();
}
inline
ACTIONS_LIST::parent::iterator ACTIONS_LIST::end()
{
-STG_LOCKER lock(&mutex);
+std::lock_guard lock(m_mutex);
return parent::end();
}
inline
ACTIONS_LIST::parent::const_iterator ACTIONS_LIST::begin() const
{
-STG_LOCKER lock(&mutex);
+std::lock_guard lock(m_mutex);
return parent::begin();
}
inline
ACTIONS_LIST::parent::const_iterator ACTIONS_LIST::end() const
{
-STG_LOCKER lock(&mutex);
+std::lock_guard lock(m_mutex);
return parent::end();
}
inline
bool ACTIONS_LIST::empty() const
{
-STG_LOCKER lock(&mutex);
+std::lock_guard lock(m_mutex);
return parent::empty();
}
inline
size_t ACTIONS_LIST::size() const
{
-STG_LOCKER lock(&mutex);
+std::lock_guard lock(m_mutex);
return parent::size();
}
inline
void ACTIONS_LIST::swap(ACTIONS_LIST & list)
{
-STG_LOCKER lock(&mutex);
+std::lock_guard lock(m_mutex);
parent::swap(list);
}
typename ACTOR<ACTIVE_CLASS, DATA_TYPE>::TYPE a,
DATA_TYPE d)
{
-STG_LOCKER lock(&mutex);
+std::lock_guard lock(m_mutex);
push_back(new ACTION<ACTIVE_CLASS, DATA_TYPE>(ac, a, d));
}
inline
void ACTIONS_LIST::InvokeAll()
{
-STG_LOCKER lock(&mutex);
+std::lock_guard lock(m_mutex);
std::for_each(
parent::begin(),
parent::end(),