[gnome-continuous-yocto/gnomeostree-3.28-rocko: 1217/8267] bitbake: bitbake-worker: don't reassign sys.stdout



commit 7ed76e4c2021ef96b3244dfca5ddb91a69c4c721
Author: Ed Bartosh <ed bartosh linux intel com>
Date:   Tue Jul 5 00:53:59 2016 +0300

    bitbake: bitbake-worker: don't reassign sys.stdout
    
    Worker needs input stream in binary mode as it reads binary content
    from it. Current code does it by detaching a buffer from sys.stdin
    and assigning it back to sys.stdin.
    
    Detached buffer is io.BufferedReader in binary mode. This operation
    is implicit as its purpose is not easily understandable from the code.
    Replacing it with fdopen(sys.stdin.fileno(), 'rb') should make the
    code more understandable.
    
    Assigning the buffer to sys.stdin is not needed as worker doesn't
    use sys.stdin. Moreover, it leads to difficult to debug issues down
    the stack. For example, devpyshell doesn't work without reopening
    sys.stdin in text mode. This is not needed anymore after this fix as
    sys.stdin is not changed in worker code and remains in text mode.
    
    (Bitbake rev: b26bcff4c4d72775f1def7e769015464953b955c)
    
    Signed-off-by: Ed Bartosh <ed bartosh linux intel com>
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 bitbake/bin/bitbake-worker |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)
---
diff --git a/bitbake/bin/bitbake-worker b/bitbake/bin/bitbake-worker
index 5d062a2..963b4cd 100755
--- a/bitbake/bin/bitbake-worker
+++ b/bitbake/bin/bitbake-worker
@@ -436,8 +436,7 @@ class BitbakeWorker(object):
             self.build_pipes[pipe].read()
 
 try:
-    sys.stdin = sys.stdin.detach()
-    worker = BitbakeWorker(sys.stdin)
+    worker = BitbakeWorker(os.fdopen(sys.stdin.fileno(), 'rb'))
     if not profiling:
         worker.serve()
     else:


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]