Fix re-entrancy issues in CPluginManager by using ReentrantList.
This commit is contained in:
@@ -60,6 +60,7 @@ public:
|
||||
|
||||
class iterator
|
||||
{
|
||||
friend class ReentrantList;
|
||||
public:
|
||||
iterator(ReentrantList& list)
|
||||
: iterator(&list)
|
||||
@@ -145,6 +146,16 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
template <typename U>
|
||||
void insertBefore(iterator& where, U &&obj) {
|
||||
BaseType::insertBefore(where.impl_, ke::Forward<U>(obj));
|
||||
}
|
||||
|
||||
template <typename U>
|
||||
bool contains(const U &obj) {
|
||||
return BaseType::find(obj) != BaseType::end();
|
||||
}
|
||||
|
||||
private:
|
||||
BaseTypeIter impl_begin() {
|
||||
return BaseType::begin();
|
||||
|
||||
Reference in New Issue
Block a user