From 1c7d9e4bc49ae1396a28d35a9c9cdfd87714b4a1 Mon Sep 17 00:00:00 2001
From: Arnaud Fontaine <arnaud.fontaine@nexedi.com>
Date: Thu, 9 Feb 2012 20:21:25 +0900
Subject: [PATCH] Use a re-entrant lock for loading Dynamic Module (meaningful
 for Components).

---
 product/ERP5Type/dynamic/dynamic_module.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/product/ERP5Type/dynamic/dynamic_module.py b/product/ERP5Type/dynamic/dynamic_module.py
index 2dd3039f49..d292059204 100644
--- a/product/ERP5Type/dynamic/dynamic_module.py
+++ b/product/ERP5Type/dynamic/dynamic_module.py
@@ -12,7 +12,7 @@ class DynamicModule(ModuleType):
   def __init__(self, name, factory, doc=None):
     super(DynamicModule, self).__init__(name, doc=doc)
     self._factory = factory
-    self._lock = threading.Lock()
+    self._lock = threading.RLock()
 
   def __getattr__(self, name):
     if name[:2] == '__':
-- 
2.30.9