aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/compilers/compilers.py
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2021-02-10 09:49:48 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2021-02-10 12:01:55 +0100
commit6c40b134df49ae8dea373cd5c75a1348c15397e1 (patch)
tree78be5b114933c9fc5ef844a9d83c49b63fff4fa7 /mesonbuild/compilers/compilers.py
parentc6b135c1f99e4eb427970d94c2ddf8f1b04a3514 (diff)
downloadmeson-6c40b134df49ae8dea373cd5c75a1348c15397e1.zip
meson-6c40b134df49ae8dea373cd5c75a1348c15397e1.tar.gz
meson-6c40b134df49ae8dea373cd5c75a1348c15397e1.tar.bz2
mtest: cancel stdout/stderr tasks on timeout
Avoid that the tasks linger and SingleTestRunner.run() never terminates. In order to do this, we need read_decode() and read_decode_lines() to be cancellable, and to handle the CancelledError gracefully while returning the output they have collected so far. For read_decode(), this means always operating on a line-by-line basis, even if console_mode is not ConsoleUser.STDOUT. For read_decode_lines(), instead, we cannot return an iterator. Rather, read_decode_lines() returns the output directly (similar to read_decode) and communication with the parser is mediated by an asyncio.Queue. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'mesonbuild/compilers/compilers.py')
0 files changed, 0 insertions, 0 deletions