class_docstr: When this is used in a ``with`` block it will capture keyboard interrupts and
  fire them at the end of the ``with`` block after all the code completes execution.
code: def handler(self, sig, frame):
      # Pass second interrupt without delaying
      if self.signal_received is not None:
          self.old_handler(*self.signal_received)
          return
  
      # Store the interrupt signal for later
      self.signal_received = (sig, frame)
      logger.log(
          [
              (
                  "\nSIGINT received. Delaying KeyboardInterrupt.",
                  Text.danger,
              )
          ]
      )
  
file_path: labml/client/labml/utils/delayed_keyboard_interrupt.py
imports: import signal
  from labml import logger
  from labml.logger import Text
label_desc: Use image node_id 3 for calling the DelayedKeyboardInterrupt obj's underlying member method code with example usage: obj.handler(sig, frame) without return types