diff options
| author | Christophe Simonis <chs@odoo.com> | 2018-05-29 17:34:43 +0200 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2018-05-29 17:34:43 +0200 |
| commit | f36e6917bd73a56dc0c7468b4849920df4088154 (patch) | |
| tree | b63d02ae3e5ffc0815de009407363e0cf906f547 /odoo/service/server.py | |
| parent | bc0173c2d58ac26d80cb2f483a95c0c13b047dab (diff) | |
| parent | 37eed7c509fb5846c89ef37046df4b3cab299719 (diff) | |
[MERGE] forward port branch saas-11.3 up to 37eed7c509f
Diffstat (limited to 'odoo/service/server.py')
| -rw-r--r-- | odoo/service/server.py | 6 |
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: |
