libkas: Do not close event loop after each command
Rather close the loop when terminating the kas process. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
This commit is contained in:
parent
34cf6900ca
commit
94555bb892
@ -77,8 +77,9 @@ def create_logger():
|
|||||||
|
|
||||||
def _atexit_handler(loop):
|
def _atexit_handler(loop):
|
||||||
"""
|
"""
|
||||||
Terminate the whole process group
|
Close event loop and terminate the whole process group
|
||||||
"""
|
"""
|
||||||
|
asyncio.get_event_loop().close()
|
||||||
os.killpg(os.getpid(), signal.SIGTERM)
|
os.killpg(os.getpid(), signal.SIGTERM)
|
||||||
|
|
||||||
|
|
||||||
|
@ -125,16 +125,11 @@ def run_cmd(cmd, cwd, env=None, fail=True, shell=False, liveupdate=True):
|
|||||||
logging.info('%s$ %s', cwd, cmdstr)
|
logging.info('%s$ %s', cwd, cmdstr)
|
||||||
|
|
||||||
logo = LogOutput(liveupdate)
|
logo = LogOutput(liveupdate)
|
||||||
if asyncio.get_event_loop().is_closed():
|
loop = asyncio.get_event_loop()
|
||||||
loop = asyncio.new_event_loop()
|
|
||||||
asyncio.set_event_loop(loop)
|
|
||||||
else:
|
|
||||||
loop = asyncio.get_event_loop()
|
|
||||||
|
|
||||||
retc = loop.run_until_complete(
|
retc = loop.run_until_complete(
|
||||||
_stream_subprocess(cmd, cwd, env, shell,
|
_stream_subprocess(cmd, cwd, env, shell,
|
||||||
logo.log_stdout, logo.log_stderr))
|
logo.log_stdout, logo.log_stderr))
|
||||||
loop.close()
|
|
||||||
|
|
||||||
if retc and fail:
|
if retc and fail:
|
||||||
msg = 'Command "{cwd}$ {cmd}" failed\n'.format(cwd=cwd, cmd=cmdstr)
|
msg = 'Command "{cwd}$ {cmd}" failed\n'.format(cwd=cwd, cmd=cmdstr)
|
||||||
|
Loading…
Reference in New Issue
Block a user