mirror of
https://git.yoctoproject.org/poky
synced 2026-04-20 00:32:13 +02:00
devpyshell: python3: flush stdout explicitly
Opening text stream in unbuffered mode raises the following
exception In Python 3:
ValueError: can't have unbuffered text I/O
Fixed by leaving std* streams in text mode and flushing
stdout explicitly.
(From OE-Core rev: 732001cb268683f5b56e251e2964ec5b694a2147)
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
250955ab8c
commit
e8feb1976a
@@ -65,8 +65,6 @@ def devpyshell(d):
|
||||
os.dup2(m, sys.stdout.fileno())
|
||||
os.dup2(m, sys.stderr.fileno())
|
||||
|
||||
sys.stdin = os.fdopen(sys.stdin.fileno(), 'r', 0)
|
||||
|
||||
bb.utils.nonblockingfd(sys.stdout)
|
||||
bb.utils.nonblockingfd(sys.stderr)
|
||||
bb.utils.nonblockingfd(sys.stdin)
|
||||
@@ -92,6 +90,7 @@ def devpyshell(d):
|
||||
else:
|
||||
prompt = ps1
|
||||
sys.stdout.write(prompt)
|
||||
sys.stdout.flush()
|
||||
|
||||
# Restore Ctrl+C since bitbake masks this
|
||||
def signal_handler(signal, frame):
|
||||
@@ -113,6 +112,7 @@ def devpyshell(d):
|
||||
continue
|
||||
except EOFError as e:
|
||||
sys.stdout.write("\n")
|
||||
sys.stdout.flush()
|
||||
except (OSError, IOError) as e:
|
||||
if e.errno == 11:
|
||||
continue
|
||||
|
||||
Reference in New Issue
Block a user