diff options
author | Andrew Leech <andrew.leech@planetinnovation.com.au> | 2018-09-12 16:42:06 +1000 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2018-09-21 11:57:24 +1000 |
commit | a2703649ea4455fe11388e24fad68a66441daf68 (patch) | |
tree | 7119f8a1f8bc58fd79d3393822f41311adc29d36 /tools/pydfu.py | |
parent | cb3c66e79358f03367d0b4e5d2b6ec649ac29733 (diff) |
tools/pydfu: Workaround stdio flush error on Windows with Python 3.6.
There appears to be an issue on Windows with CPython >= 3.6,
sys.stdout.flush() raises an exception:
OSError: [WinError 87] The parameter is incorrect
It works fine to just catch and ignore the error on the flush line. Tested
on Windows 10 x64 1803 (Build 17134.228), Python 3.6.4 amd64.
Diffstat (limited to 'tools/pydfu.py')
-rwxr-xr-x | tools/pydfu.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/tools/pydfu.py b/tools/pydfu.py index c6b6802c8..e7f4ab178 100755 --- a/tools/pydfu.py +++ b/tools/pydfu.py @@ -482,7 +482,10 @@ def cli_progress(addr, offset, size): print("\r0x{:08x} {:7d} [{}{}] {:3d}% " .format(addr, size, '=' * done, ' ' * (width - done), offset * 100 // size), end="") - sys.stdout.flush() + try: + sys.stdout.flush() + except OSError: + pass # Ignore Windows CLI "WinError 87" on Python 3.6 if offset == size: print("") |