[bitbake-devel] bitbake-layers: add signal hander to avoid exception

Zhixiong Chi zhixiong.chi at windriver.com
Wed Apr 12 03:27:32 UTC 2017



On 2017年04月11日 22:47, Richard Purdie wrote:
> On Mon, 2017-04-10 at 17:22 +0800, Zhixiong Chi wrote:
>> Fixed:
>> bitbake-layers show-recipes | less
>> press "q" to exit
>>
>> There will be a Broken pipe error output as follows:
>> "BrokenPipeError: [Errno 32] Broken pipe"
>>
>> Signed-off-by: Zhixiong Chi <zhixiong.chi at windriver.com>
>> ---
>>   bin/bitbake-layers | 2 ++
>>   1 file changed, 2 insertions(+)
>>
>> diff --git a/bin/bitbake-layers b/bin/bitbake-layers
>> index 390ad05..d58022d 100755
>> --- a/bin/bitbake-layers
>> +++ b/bin/bitbake-layers
>> @@ -20,6 +20,7 @@
>>   # with this program; if not, write to the Free Software Foundation,
>> Inc.,
>>   # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
>>   
>> +from signal import signal, SIGPIPE, SIG_DFL
> Stylistically, we tend to do:
>
> import signal
>
> signal.signal(signal.SIGPIPE, signal.SIG_DFL)

Thanks for your suggestion, I will send v2 patch later.

>
> so I've a small preference for that. I discussed this with Paul and we
> think other bitbake tools may also have this issue. We wondered if it
> was possible to do something more centrally in bitbake, and/or fix the
> other tools at the same time.
>
> Any thoughts on that?
I agree with this, unfortunately out testing team haven't met this issue 
in other bitbake tools yet.

Thanks.
>
> Cheers,
>
> Richard
>
>>   import logging
>>   import os
>>   import sys
>> @@ -35,6 +36,7 @@ import bb.msg
>>   logger = bb.msg.logger_create('bitbake-layers', sys.stdout)
>>   
>>   def main():
>> +    signal(SIGPIPE, SIG_DFL)
>>       parser = argparse.ArgumentParser(
>>           description="BitBake layers utility",
>>           epilog="Use %(prog)s <subcommand> --help to get help on a
>> specific command",
>> -- 
>> 1.9.1
>>

-- 
---------------------
Thanks,
Zhixiong Chi
Tel: +86-10-8477-7036




More information about the bitbake-devel mailing list