#1101058 sopv-gpgv: Interrupts not handled gracefully

#1101058#5
Date:
2025-03-22 16:39:48 UTC
From:
To:
Hi!

While playing with sopv-gpgv, I noticed the following unexpected behavior.
When calling (and then typing Ctrl-C):

  ,---
  $ k=/usr/share/keyrings/debian-archive-keyring.gpg
  $ sopv-gpgv inline-verify --verifications-out foo $k
  ^C
  Traceback (most recent call last):
    File "/usr/bin/sopv-gpgv", line 620, in <module>
      main()
      ~~~~^^
    File "/usr/bin/sopv-gpgv", line 613, in main
      args.func(args)
      ~~~~~~~~~^^^^^^
    File "/usr/bin/sopv-gpgv", line 574, in inline_verify
      res = subprocess.run(
          cmd,
          capture_output=True,
          pass_fds=keep_fds,
      )
    File "/usr/lib/python3.13/subprocess.py", line 556, in run
      stdout, stderr = process.communicate(input, timeout=timeout)
                       ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.13/subprocess.py", line 1219, in communicate
      stdout, stderr = self._communicate(input, endtime, timeout)
                       ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.13/subprocess.py", line 2122, in _communicate
      ready = selector.select(timeout)
    File "/usr/lib/python3.13/selectors.py", line 398, in select
      fd_event_list = self._selector.poll(timeout)
  KeyboardInterrupt

  `---

We get a traceback instead of a proper error.

Thanks,
Guillem