From 982ed4be0bd2d246ee3a5bcdf61fca4b7dce8c0e Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Wed, 13 Feb 2019 11:34:51 +0100 Subject: executor: fix detection of blocked calls Unfinished calls are always blocked too, so set the blocked flag for unfinished calls. --- executor/executor.cc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'executor') diff --git a/executor/executor.cc b/executor/executor.cc index 4d60b10cc..22a728905 100644 --- a/executor/executor.cc +++ b/executor/executor.cc @@ -863,12 +863,11 @@ void copyout_call_results(thread_t* th) void write_call_output(thread_t* th, bool finished) { uint32 reserrno = 999; - uint32 call_flags = call_flag_executed; const bool blocked = th != last_scheduled; + uint32 call_flags = call_flag_executed | (blocked ? call_flag_blocked : 0); if (finished) { reserrno = th->res != -1 ? 0 : th->reserrno; call_flags |= call_flag_finished | - (blocked ? call_flag_blocked : 0) | (th->fault_injected ? call_flag_fault_injected : 0); } #if SYZ_EXECUTOR_USES_SHMEM -- cgit mrf-deployment