aboutsummaryrefslogtreecommitdiffstats
path: root/executor/executor.cc
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2018-08-09 13:50:49 +0200
committerDmitry Vyukov <dvyukov@google.com>2018-08-09 16:05:46 +0200
commit922e8e27343704155b81f50ddd3316ec04c9d299 (patch)
treeee5f2640775e336d923912c3249bac797dd33e05 /executor/executor.cc
parentacf31536e9e570b2a5ee11a7818c96e4d177c808 (diff)
executor: mount binfmt_mist
We forgot to mount binfmt_misc. Mount it. Add a test. Increase per-call timeout, otherwise last execve timesout. Fix csource waiting for call completion at the end of program.
Diffstat (limited to 'executor/executor.cc')
-rw-r--r--executor/executor.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/executor/executor.cc b/executor/executor.cc
index c918f8b43..1e6e9d255 100644
--- a/executor/executor.cc
+++ b/executor/executor.cc
@@ -646,7 +646,7 @@ retry:
} else if (flag_threaded) {
// Wait for call completion.
// Note: sys knows about this 25ms timeout when it generates timespec/timeval values.
- const uint64 timeout_ms = flag_debug ? 1000 : 25;
+ const uint64 timeout_ms = flag_debug ? 1000 : 45;
if (event_timedwait(&th->done, timeout_ms))
handle_completion(th);
// Check if any of previous calls have completed.
@@ -668,6 +668,7 @@ retry:
if (!colliding && !collide && running > 0) {
// Give unfinished syscalls some additional time.
+ last_scheduled = 0;
uint64 wait = 100;
uint64 wait_start = current_time_ms();
uint64 wait_end = wait_start + wait;