Go to file
Xavier Morel 556a17d5bc [FIX] race condition in RegistryManager
When two requests arrive simultanously for the same uninitialized db,
the first request starts the db initialization, but the second one
immediately gets the partially uninitialized registry (actually just
created, so generally completely uninitialized), leading to an access
error in later code (as soon as a registry object is accessed).

Add a GRML (Global RegistryManager Lock) to ensure the RegistryManager
*never* returns a partially initialized registry.

The current implementation is simple (just lock all RegistryManager
methods before they manipulate registries), but overly broad. This is
an area which might be optimizable if there are perf/responsivity
issues (e.g. each Registry instance could have a lock, and the
RegistryManager would grab the instance's, allowing the inititlization
of registry A not to block registry B from being returned in heavily
concurrent uses).

However this is not an issue in multiprocessing scenarios, which are
being planned for the near future. So for now, being correct is
probably the best idea.

bzr revid: xmo@openerp.com-20110916075227-0zutzlxn2dcd94c4
2011-09-16 09:52:27 +02:00
addons [I18N] account: fix duped entries in account.pot and fr.po after recent merge 2011-09-16 09:50:57 +02:00
bin [REM] obsolete .po files committed by LP, begone! 2011-06-10 19:50:45 +02:00
debian Launchpad automatic translations update. 2011-09-01 04:46:07 +00:00
doc [FIX] more documentation 2011-09-07 08:14:16 +02:00
man fix_man_page 2010-12-21 21:27:27 +01:00
openerp [FIX] race condition in RegistryManager 2011-09-16 09:52:27 +02:00
pixmaps [IMP] better logo 2011-08-16 01:02:43 +02:00
python25-compat Backport the HTTP server code from python 2.6 to 2.5 2009-09-10 03:02:41 +03:00
sql Better sql cleaners. 2009-01-26 22:27:21 +02:00
tools [REF] modules.__init__: 2011-05-11 12:34:55 +02:00
win32 [FIX] Change the name of the NT Service 2010-12-29 12:51:44 +01:00
.bzrignore [FIX] root a bunch of ignores to the base dir of the repository 2011-08-10 16:27:48 +02:00
LICENSE [IMP] license: renamed general license file, and included note about other applicable licenses 2010-12-08 14:33:25 +01:00
LICENSE.web openobject is dead long live to openerpweb 2011-03-02 19:56:06 +01:00
MANIFEST.in [REF] debian: 2011-03-28 14:29:58 +02:00
Makefile [IMP] no need to cd in the doc folder, just use -C 2011-09-07 08:12:12 +02:00
README modifs 2010-09-28 20:53:49 +02:00
README.web [FIX] documentation update README 2011-09-06 21:20:04 +02:00
babel.cfg [imp] improved i18n to scan all files 2011-08-17 13:28:28 +02:00
gen_translations.sh [imp] refactoring of the translations according to rename of base to web 2011-09-06 12:03:36 +02:00
npybabel.py [imp] improved i18n to scan all files 2011-08-17 13:28:28 +02:00
openerp-server [IMP] openerp-server: setup signal handlers earlier, spellcheck 2011-09-13 15:10:42 +02:00
openerp-web.cfg [IMP] Improved configuration. 2011-05-13 13:42:28 +02:00
openerp-web.py [IMP] options backend local or rpc 2011-09-14 10:51:27 +02:00
rpminstall_sh.txt [FIX] generate the pyc for redhat 2009-01-30 16:19:03 +01:00
setup.README [REF] renamed openerp-server.py to openerp-server. 2011-03-24 10:50:12 +01:00
setup.cfg [FIX] Update the version of Python 2010-10-19 00:00:03 +02:00
setup.nsi [FIX] win32 build script works again (fixes lp:735554) 2011-03-17 12:05:22 +01:00
setup.py [FIX] version specifier for werkzeug in setup.py file 2011-09-13 09:12:05 +02:00
ssl-cert.cfg setup: The ssl certs should *not* be distributed. 2010-11-23 15:58:44 +02:00

README

About OpenERP
---------------

OpenERP is a free Enterprise Resource Planning and Customer Relationship 
Management software. It is mainly developed to meet changing needs.

The main functional features are: CRM & SRM, analytic and financial accounting,
double-entry stock management, sales and purchases management, tasks automation,
help desk, marketing campaign, ... and vertical modules for very specific 
businesses.

Technical features include a distributed server, flexible workflows, an object 
database, dynamic GUIs, customizable reports, NET-RPC and XML-RPC interfaces, ...

For more information, please visit: 
http://www.openerp.com