##// END OF EJS Templates
Avoid creating CalledProcessError with return code None
Thomas Kluyver -
Show More
@@ -199,6 +199,7 b' class ScriptMagics(Magics):'
199 199 _handle_stream(process.stderr, args.err, sys.stderr)
200 200 )
201 201 await asyncio.wait([stdout_task, stderr_task])
202 await process.wait()
202 203
203 204 if sys.platform.startswith("win"):
204 205 asyncio.set_event_loop_policy(asyncio.WindowsProactorEventLoopPolicy())
@@ -264,7 +265,11 b' class ScriptMagics(Magics):'
264 265 print("Error while terminating subprocess (pid=%i): %s" % (p.pid, e))
265 266 return
266 267 if args.raise_error and p.returncode!=0:
267 raise CalledProcessError(p.returncode, cell)
268 # If we get here and p.returncode is still None, we must have
269 # killed it but not yet seen its return code. We don't wait for it,
270 # in case it's stuck in uninterruptible sleep. -9 = SIGKILL
271 rc = p.returncode or -9
272 raise CalledProcessError(rc, cell)
268 273
269 274 def _run_script(self, p, cell, to_close):
270 275 """callback for running the script in the background"""
General Comments 0
You need to be logged in to leave comments. Login now