[FIX] registry: missing a threading.RLock in RegistryManager.get():
authorMartin Trigaux <mat@openerp.com>
Thu, 14 Nov 2013 14:44:01 +0000 (15:44 +0100)
committerMartin Trigaux <mat@openerp.com>
Thu, 14 Nov 2013 14:44:01 +0000 (15:44 +0100)
commit7ae9e1c86d8d5c9e2b7038aabdd7df272d3db4c8
tree3282e5819c48258c19ce8e70ee894cb00cdd43c0
parent1e4b2695d59b9d51cc1e0b76f925aa4f638436f4
parent9c769c9a990064012409747596d8298cd477c31a
[FIX] registry: missing a threading.RLock in RegistryManager.get():

if no registry exists and several calls to RegistryManager.get() are called at the same time
by several threads, several registries will be created one after the other and only the last
one will be kept in cls.registries (courtesy of Guewen Baconnier (Camptocamp)

Invert behaviour of commit 3685 because, at that time, the new trigger the schedule_cron_jobs method which ran another lock and called get on the registry. We had a deadlock with the cron. This is no longer the case as we don't call the same method at the end of the creation of the registry and it does not trigger a lock

bzr revid: mat@openerp.com-20131114144401-k00podawlem7cjd1
openerp/modules/registry.py