All of lore.kernel.org
 help / color / mirror / Atom feed
* [OE-core][PATCH] oe-pkgdata-util: ignore SIGPIPE
@ 2021-04-20  8:37 Chen Qi
  2021-04-30 13:34 ` Richard Purdie
  0 siblings, 1 reply; 5+ messages in thread
From: Chen Qi @ 2021-04-20  8:37 UTC (permalink / raw)
  To: openembedded-core

oe-pkgdata-util sometimes outputs a large amount of data. When used
with pipe, it's likely to get the following error.

  BrokenPipeError: [Errno 32] Broken pipe

The problem could be reproduced by running `oe-pkgdata-util list-pkg | less'.
Type 'q' after running the above command, and we get the error.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
 scripts/oe-pkgdata-util | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/scripts/oe-pkgdata-util b/scripts/oe-pkgdata-util
index 75dd23efa3..4aeb28879d 100755
--- a/scripts/oe-pkgdata-util
+++ b/scripts/oe-pkgdata-util
@@ -17,6 +17,7 @@ import re
 import argparse
 import logging
 from collections import defaultdict, OrderedDict
+from signal import signal, SIGPIPE, SIG_DFL
 
 scripts_path = os.path.dirname(os.path.realpath(__file__))
 lib_path = scripts_path + '/lib'
@@ -615,6 +616,10 @@ def main():
         logger.error('Unable to find pkgdata directory %s' % args.pkgdata_dir)
         sys.exit(1)
 
+    # It's possible that this program will output large contents, and when used with a pipe in command line,
+    # we will get a 'BrokenPipeError: [Errno 32] Broken pipe'. Ignore the SIGPIPE to avoid such error.
+    signal(SIGPIPE, SIG_DFL)
+
     ret = args.func(args)
 
     return ret
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread
[parent not found: <1677842B2B4EE882.30395@lists.openembedded.org>]

end of thread, other threads:[~2021-05-06  3:54 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-20  8:37 [OE-core][PATCH] oe-pkgdata-util: ignore SIGPIPE Chen Qi
2021-04-30 13:34 ` Richard Purdie
2021-05-06  2:14   ` Chen Qi
2021-05-06  4:03   ` Chen Qi
     [not found] <1677842B2B4EE882.30395@lists.openembedded.org>
2021-04-27  2:53 ` Chen Qi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.