Add 'wait and cooperative exit' handling for SIGINT

This allows compatible shells to stop script execution when
the user sends SIGINT.

Only tested on Ubuntu Linux
pull/28744/head
h3ndr1k 3 years ago committed by hendrik
parent 4fb25ff5a3
commit 981f87b00f

@ -478,7 +478,13 @@ def main(argv=None):
except SameFileError:
sys.exit('ERROR: fixed output name but more than one file to download')
except KeyboardInterrupt:
sys.exit('\nERROR: Interrupted by user')
print('\nERROR: Interrupted by user')
# 'wait and cooperative exit' handling of SIGINT
# this signals our parent that we exited because of SIGINT
# the compatible parent shell can then stop script execution
import signal
signal.signal(signal.SIGINT, signal.SIG_DFL)
os.kill(os.getpid(), signal.SIGINT)
__all__ = ['main', 'YoutubeDL', 'gen_extractors', 'list_extractors']

Loading…
Cancel
Save