code: def test_ctrl_c(self):
      def SIGINT_after_delay():
          time.sleep(0.1)
          signal.raise_signal(signal.SIGINT)
  
      thread = threading.Thread(target=SIGINT_after_delay)
      loop = asyncio.new_event_loop()
      try:
          # only start the loop once the event loop is running
          loop.call_soon(thread.start)
          loop.run_forever()
          self.fail("should not fall through 'run_forever'")
      except KeyboardInterrupt:
          pass
      finally:
          self.close_loop(loop)
      thread.join()
  
imports: import os
  import signal
  import socket
  import sys
  import time
  import threading
  import unittest
  from unittest import mock
  import _overlapped
  import _winapi
  import asyncio
  from asyncio import windows_events
  from test.test_asyncio import utils
label_desc: Use image node_id 1 for calling the ProactorLoopCtrlC obj's underlying member method code with example usage: obj.test_ctrl_c() without return types