diff --git a/openerp/service/server.py b/openerp/service/server.py index 617c2d757df..5ea05df8112 100644 --- a/openerp/service/server.py +++ b/openerp/service/server.py @@ -26,7 +26,7 @@ if os.name == 'posix': import resource else: # Windows shim - signal.SIGHUP = 0 + signal.SIGHUP = -1 # Optional process names for workers try: diff --git a/openerp/tools/osutil.py b/openerp/tools/osutil.py index 94684d34673..afe3fc459f3 100644 --- a/openerp/tools/osutil.py +++ b/openerp/tools/osutil.py @@ -139,10 +139,13 @@ else: finally: ws.CloseServiceHandle(srv) - with close_srv(ws.OpenSCManager(None, None, ws.SC_MANAGER_ALL_ACCESS)) as hscm: - with close_srv(wsu.SmartOpenService(hscm, nt_service_name, ws.SERVICE_ALL_ACCESS)) as hs: - info = ws.QueryServiceStatusEx(hs) - return info['ProcessId'] == getppid() + try: + with close_srv(ws.OpenSCManager(None, None, ws.SC_MANAGER_ALL_ACCESS)) as hscm: + with close_srv(wsu.SmartOpenService(hscm, nt_service_name, ws.SERVICE_ALL_ACCESS)) as hs: + info = ws.QueryServiceStatusEx(hs) + return info['ProcessId'] == getppid() + except Exception: + return False if __name__ == '__main__': from pprint import pprint as pp