From effec78db7524006bc387556aacf460e7424637b Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Wed, 5 Dec 2012 18:56:30 +0100 Subject: [PATCH] [FIX] correct reexecute. works for windows service bzr revid: chs@openerp.com-20121205175630-6y8ul4ki13z0coyh --- openerp/service/__init__.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/openerp/service/__init__.py b/openerp/service/__init__.py index 849df170eaa..c714c0178f0 100644 --- a/openerp/service/__init__.py +++ b/openerp/service/__init__.py @@ -23,6 +23,7 @@ import logging import os import signal +import subprocess import sys import threading import time @@ -34,6 +35,7 @@ import openerp.cron import openerp.modules import openerp.netsvc import openerp.osv +from openerp.release import nt_service_name import openerp.tools import openerp.service.wsgi_server @@ -132,7 +134,7 @@ def start_services_workers(): def _reexec(): """reexecute openerp-server process with (nearly) the same arguments""" if openerp.tools.osutil.is_running_as_nt_service(): - os.abort() + subprocess.call('sc stop {0} && sc start {0}'.format(nt_service_name), shell=True) exe = os.path.basename(sys.executable) strip_args = ['-d', '-u'] a = sys.argv[:]