gh-94732: Fix KeyboardInterrupt race in asyncio run_forever() (#97765)

Ensure that the event loop's `_thread_id` attribute and the asyncgen hooks set by `sys.set_asyncgen_hooks()` are always restored no matter where a KeyboardInterrupt exception is raised.
1 file changed