summaryrefslogtreecommitdiff
path: root/odoo/service/server.py
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2018-05-29 17:34:43 +0200
committerChristophe Simonis <chs@odoo.com>2018-05-29 17:34:43 +0200
commitf36e6917bd73a56dc0c7468b4849920df4088154 (patch)
treeb63d02ae3e5ffc0815de009407363e0cf906f547 /odoo/service/server.py
parentbc0173c2d58ac26d80cb2f483a95c0c13b047dab (diff)
parent37eed7c509fb5846c89ef37046df4b3cab299719 (diff)
[MERGE] forward port branch saas-11.3 up to 37eed7c509f
Diffstat (limited to 'odoo/service/server.py')
-rw-r--r--odoo/service/server.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/odoo/service/server.py b/odoo/service/server.py
index e64aafe4440..d246a3d80f1 100644
--- a/odoo/service/server.py
+++ b/odoo/service/server.py
@@ -205,6 +205,9 @@ class ThreadedServer(CommonServer):
os._exit(0)
# interrupt run() to start shutdown
raise KeyboardInterrupt()
+ elif sig == signal.SIGXCPU:
+ sys.stderr.write("CPU time limit exceeded! Shutting down immediately\n")
+ os._exit(0)
elif sig == signal.SIGHUP:
# restart on kill -HUP
odoo.phoenix = True
@@ -263,6 +266,7 @@ class ThreadedServer(CommonServer):
signal.signal(signal.SIGTERM, self.signal_handler)
signal.signal(signal.SIGCHLD, self.signal_handler)
signal.signal(signal.SIGHUP, self.signal_handler)
+ signal.signal(signal.SIGXCPU, self.signal_handler)
signal.signal(signal.SIGQUIT, dumpstacks)
signal.signal(signal.SIGUSR1, log_ormcache_stats)
elif os.name == 'nt':
@@ -370,7 +374,7 @@ class GeventServer(CommonServer):
signal.signal(signal.SIGQUIT, dumpstacks)
signal.signal(signal.SIGUSR1, log_ormcache_stats)
gevent.spawn(self.watchdog)
-
+
self.httpd = WSGIServer((self.interface, self.port), self.app)
_logger.info('Evented Service (longpolling) running on %s:%s', self.interface, self.port)
try: