diff options
Diffstat (limited to 'development/icdiff/fix-pipe-handling-installed.patch')
-rw-r--r-- | development/icdiff/fix-pipe-handling-installed.patch | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/development/icdiff/fix-pipe-handling-installed.patch b/development/icdiff/fix-pipe-handling-installed.patch new file mode 100644 index 0000000000000..fcc9c84dd9e79 --- /dev/null +++ b/development/icdiff/fix-pipe-handling-installed.patch @@ -0,0 +1,51 @@ +Description: fix closed pipe handling +Author: Sascha Steinbiss <satta@debian.org> +Bug: https://github.com/jeffkaufman/icdiff/issues/156 +Forwarded: https://github.com/jeffkaufman/icdiff/pull/165 +Last-Update: 2019-09-25 +--- a/icdiff ++++ b/icdiff +@@ -594,7 +594,22 @@ + validate_has_two_arguments(parser, args) + if not options.cols: + set_cols_option(options) +- diff(options, *args) ++ try: ++ diff(options, *args) ++ except KeyboardInterrupt: ++ pass ++ except IOError as e: ++ if e.errno == errno.EPIPE: ++ pass ++ else: ++ raise ++ ++ # Close stderr to prevent printing errors when icdiff is piped to ++ # something that closes before icdiff is done writing ++ # ++ # See: https://stackoverflow.com/questions/26692284/... ++ # ...how-to-prevent-brokenpipeerror-when-doing-a-flush-in-python ++ sys.stderr.close() + + + def codec_print(s, options): +@@ -755,18 +770,4 @@ + + + if __name__ == "__main__": +- try: +- start() +- except KeyboardInterrupt: +- pass +- except IOError as e: +- if e.errno == errno.EPIPE: +- pass +- else: +- raise +- # Close stderr to prevent printing errors when icdiff is piped to +- # something that closes before icdiff is done writing +- # +- # See: https://stackoverflow.com/questions/26692284/ +- # how-to-prevent-brokenpipeerror-when-doing-a-flush-in-python +- sys.stderr.close() ++ start() |