#! /usr/bin/env python
# -*- coding: iso-8859-1 -*-
-# Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2017 CEA/DEN, EDF R&D, OPEN CASCADE
#
# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
pass
except:
pass
- exit(0) # see (1)
+ sys.exit(0) # see (1)
pass
# (1) If --shutdown-servers option is set to 1, session close procedure is
-# called twice: first explicitely by salome command, second by automatic
+# called twice: first explicitly by salome command, second by automatic
# atexit to handle Ctrl-C. During second call, LCC does not exist anymore and
-# a RuntimeError is raised; we explicitely exit this function with code 0 to
+# a RuntimeError is raised; we explicitly exit this function with code 0 to
# prevent parent thread from crashing.
def __killMyPort(port, filedict):
# try to shutdown session normally
import threading, time
- threading.Thread(target=shutdownMyPort, args=(port,False)).start()
+ threading.Thread(target=shutdownMyPort, args=(port,True)).start()
time.sleep(3) # wait a little, then kill processes (should be done if shutdown procedure hangs up)
try:
def killMyPortSpy(pid, port):
dt = 1.0
while 1:
- if sys.platform == "win32":
- from salome_utils import win32killpid
- if win32killpid(int(pid)) != 0:
- return
- else:
- from os import kill
- try:
- kill(int(pid), 0)
- except OSError, e:
- if e.errno != 3:
- return
- break
- pass
+ from salome_utils import killpid
+ ret = killpid(int(pid), 0)
+ if ret == 0:
+ break
+ elif ret < 0:
+ return
from time import sleep
sleep(dt)
pass