summaryrefslogtreecommitdiff
path: root/openerp-server
diff options
context:
space:
mode:
authorAntony Lesuisse <al@openerp.com>2011-09-25 02:00:38 +0200
committerAntony Lesuisse <al@openerp.com>2011-09-25 02:00:38 +0200
commitb91d70a42d5a4d0fb88f7e2b0097fff87283c968 (patch)
treeaacbbd03fc56a005ccb749a7c1ff0cfbb2fae3ca /openerp-server
parent94393cc074c3536260104a5565aeef72e339c5ce (diff)
parent459213444dbdf5221d653a6c5f4351c805bec630 (diff)
[MERGE] trunk
bzr revid: al@openerp.com-20110925000038-qwfvcrmndstygt2d
Diffstat (limited to 'openerp-server')
-rwxr-xr-xopenerp-server44
1 files changed, 3 insertions, 41 deletions
diff --git a/openerp-server b/openerp-server
index 94dc6d6df6f..b3a4a33e418 100755
--- a/openerp-server
+++ b/openerp-server
@@ -139,27 +139,6 @@ def import_translation():
cr.commit()
cr.close()
-def start_services():
- http_server = openerp.service.http_server
- netrpc_server = openerp.service.netrpc_server
-
- # Instantiate local services (this is a legacy design).
- openerp.osv.osv.start_object_proxy()
- # Export (for RPC) services.
- openerp.service.web_services.start_web_services()
-
- # Start the NET-RPC server.
- netrpc_server.init_servers()
-
- # Start the main cron thread.
- openerp.netsvc.start_agent()
-
- # Start the top-level servers threads (normally HTTP, HTTPS, and NETRPC).
- openerp.netsvc.Server.startAll()
-
- # Start the WSGI server.
- openerp.wsgi.start_server()
-
# Variable keeping track of the number of calls to the signal handler defined
# below. This variable is monitored by ``quit_on_signals()``.
quit_signals_received = 0
@@ -211,27 +190,10 @@ def quit_on_signals():
while quit_signals_received == 0:
time.sleep(60)
- openerp.netsvc.Agent.quit()
- openerp.netsvc.Server.quitAll()
- openerp.wsgi.stop_server()
- config = openerp.tools.config
if config['pidfile']:
os.unlink(config['pidfile'])
- logger = logging.getLogger('server')
- logger.info("Initiating shutdown")
- logger.info("Hit CTRL-C again or send a second signal to force the shutdown.")
- logging.shutdown()
-
- # manually join() all threads before calling sys.exit() to allow a second signal
- # to trigger _force_quit() in case some non-daemon threads won't exit cleanly.
- # threading.Thread.join() should not mask signals (at least in python 2.5)
- for thread in threading.enumerate():
- if thread != threading.currentThread() and not thread.isDaemon():
- while thread.isAlive():
- # need a busyloop here as thread.join() masks signals
- # and would present the forced shutdown
- thread.join(0.05)
- time.sleep(0.05)
+
+ openerp.service.stop_services()
sys.exit(0)
if __name__ == "__main__":
@@ -263,7 +225,7 @@ if __name__ == "__main__":
if not config["stop_after_init"]:
# Some module register themselves when they are loaded so we need the
# services to be running before loading any registry.
- start_services()
+ openerp.service.start_services()
if config['db_name']:
for dbname in config['db_name'].split(','):