|
|
@@ -20,6 +20,7 @@
|
|
|
#include "geom.h"
|
|
|
#include "geomCacheManager.h"
|
|
|
#include "mutexHolder.h"
|
|
|
+#include "reMutexHolder.h"
|
|
|
#include "pStatTimer.h"
|
|
|
|
|
|
GeomMunger::Registry *GeomMunger::_registry = NULL;
|
|
|
@@ -39,7 +40,7 @@ GeomMunger(GraphicsStateGuardianBase *gsg) :
|
|
|
{
|
|
|
#ifndef NDEBUG
|
|
|
Registry *registry = get_registry();
|
|
|
- MutexHolder holder(registry->_registry_lock);
|
|
|
+ ReMutexHolder holder(registry->_registry_lock);
|
|
|
_registered_key = registry->_mungers.end();
|
|
|
#endif
|
|
|
}
|
|
|
@@ -55,7 +56,7 @@ GeomMunger(const GeomMunger ©) :
|
|
|
{
|
|
|
#ifndef NDEBUG
|
|
|
Registry *registry = get_registry();
|
|
|
- MutexHolder holder(registry->_registry_lock);
|
|
|
+ ReMutexHolder holder(registry->_registry_lock);
|
|
|
_registered_key = registry->_mungers.end();
|
|
|
#endif
|
|
|
}
|
|
|
@@ -475,7 +476,7 @@ register_munger(GeomMunger *munger, Thread *current_thread) {
|
|
|
// will be automatically deleted when this function returns.
|
|
|
PT(GeomMunger) pt_munger = munger;
|
|
|
|
|
|
- MutexHolder holder(_registry_lock);
|
|
|
+ ReMutexHolder holder(_registry_lock);
|
|
|
|
|
|
Mungers::iterator mi = _mungers.insert(munger).first;
|
|
|
GeomMunger *new_munger = (*mi);
|
|
|
@@ -496,7 +497,7 @@ register_munger(GeomMunger *munger, Thread *current_thread) {
|
|
|
////////////////////////////////////////////////////////////////////
|
|
|
void GeomMunger::Registry::
|
|
|
unregister_munger(GeomMunger *munger) {
|
|
|
- MutexHolder holder(_registry_lock);
|
|
|
+ ReMutexHolder holder(_registry_lock);
|
|
|
|
|
|
nassertv(munger->is_registered());
|
|
|
nassertv(munger->_registered_key != _mungers.end());
|
|
|
@@ -513,7 +514,7 @@ unregister_munger(GeomMunger *munger) {
|
|
|
////////////////////////////////////////////////////////////////////
|
|
|
void GeomMunger::Registry::
|
|
|
unregister_mungers_for_gsg(GraphicsStateGuardianBase *gsg) {
|
|
|
- MutexHolder holder(_registry_lock);
|
|
|
+ ReMutexHolder holder(_registry_lock);
|
|
|
|
|
|
Mungers::iterator mi = _mungers.begin();
|
|
|
while (mi != _mungers.end()) {
|