in s3transfer/processpool.py [0:0]
def run(self):
# Clients are not pickleable so their instantiation cannot happen
# in the __init__ for processes that are created under the
# spawn method.
self._client = self._client_factory.create_client()
with ignore_ctrl_c():
# By default these processes are ran as child processes to the
# main process. Any Ctrl-c encountered in the main process is
# propagated to the child process and interrupt it at any time.
# To avoid any potentially bad states caused from an interrupt
# (i.e. a transfer failing to notify its done or making the
# communication protocol become out of sync with the
# TransferMonitor), we ignore all Ctrl-C's and allow the main
# process to notify these child processes when to stop processing
# jobs.
self._do_run()