e56d4cc6ddaef4a82416089073d244ead4ded47f
The callbacks system is not re-entrant: because we were only clearing the callbacks after having executed them all, if one of the post-commit callbacks commits then all the callbacks will get re-executed (including the one which commits). Which at best can lead to odd effects & data corruption and at worst crashing the software because we're overflowing the stack (or maybe the other way around, hard-crashing might be a better idea than unexpectedly calling the same functions multiple times). By popping the callbacks before executing them, we ensure that each one will only get called once (unless it's explicitely re-pushed on the stack). closes odoo/odoo#57516 X-original-commit: 4257be4d771605ecd972bd5b04cb9c0f1163b455 Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
…
…
…
Odoo
Odoo is a suite of web based open source business apps.
The main Odoo Apps include an Open Source CRM, Website Builder, eCommerce, Warehouse Management, Project Management, Billing & Accounting, Point of Sale, Human Resources, Marketing, Manufacturing, ...
Odoo Apps can be used as stand-alone applications, but they also integrate seamlessly so you get a full-featured Open Source ERP when you install several Apps.
Getting started with Odoo
For a standard installation please follow the Setup instructions from the documentation.
To learn the software, we recommend the Odoo eLearning, or Scale-up, the business game. Developers can start with the developer tutorials
Languages
Python
49.6%
JavaScript
47.8%
SCSS
2%
CSS
0.3%
HTML
0.2%