aboutsummaryrefslogtreecommitdiffstats
path: root/executor/executor.cc
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2020-09-12 11:05:45 +0200
committerDmitry Vyukov <dvyukov@google.com>2020-09-12 13:03:27 +0200
commit306464056c8af8d00798b5ef9195950bd6502314 (patch)
tree9e52e84e25780c79c56c9bb78b32b4ca4e7b66d2 /executor/executor.cc
parentcc8045ff1f9b4b54834e6e95bedbeeb18c9a7a00 (diff)
sys/test/test: add a hanging test
Ensure that we can handle hanging syscalls in all modes.
Diffstat (limited to 'executor/executor.cc')
-rw-r--r--executor/executor.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/executor/executor.cc b/executor/executor.cc
index ca24ffd07..e63f9b224 100644
--- a/executor/executor.cc
+++ b/executor/executor.cc
@@ -950,7 +950,7 @@ void copyout_call_results(thread_t* th)
void write_call_output(thread_t* th, bool finished)
{
uint32 reserrno = 999;
- const bool blocked = th != last_scheduled;
+ const bool blocked = finished && th != last_scheduled;
uint32 call_flags = call_flag_executed | (blocked ? call_flag_blocked : 0);
if (finished) {
reserrno = th->res != -1 ? 0 : th->reserrno;