attempted fix for PermissionError and ProcessLookupError on Cygwin

This commit is contained in:
adam j hartz 2016-06-09 22:24:47 -04:00
parent d038b4ba1d
commit 5c6e7857ac

View file

@ -24,6 +24,19 @@ if ON_DARWIN:
elif ON_WINDOWS: elif ON_WINDOWS:
pass pass
elif ON_CYGWIN:
# Similar to what happened on OSX, more issues on Cygwin
# (see Github issue #514).
def _send_signal(job, signal):
try:
os.killpg(job['pgrp'], signal)
except (PermissionError, ProcessLookupError):
for pid in job['pids']:
try:
os.kill(pid, signal)
except:
pass
else: else:
def _send_signal(job, signal): def _send_signal(job, signal):
os.killpg(job['pgrp'], signal) os.killpg(job['pgrp'], signal)