def _exit(): global _exit_requested _exit_requested = True _dial.unblock() _modem.unblock() _dial_thread.join() _modem_thread.join()
def run(): _dial_thread.daemon = True _modem_thread.daemon = True _dial_thread.start() try: _modem_thread.start() except: _dial.unblock() _dial_thread.join() raise try: atexit.register(_exit) except: _exit() raise sys.exit( '\nAn interrupt occurred' if _supervisor.run() == _supervisor.Event.INTERRUPT else None )