From 124ec580a0d944639fcd635a8146bc18f3ad3815 Mon Sep 17 00:00:00 2001 From: Masamichi Takagi Date: Fri, 23 Feb 2018 10:22:16 +0900 Subject: [PATCH] uti: Call do_exit when tracer isn't working and do_syscall returned -ERESTARTSYS --- kernel/syscall.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/kernel/syscall.c b/kernel/syscall.c index f93cc197..4b954318 100644 --- a/kernel/syscall.c +++ b/kernel/syscall.c @@ -9136,6 +9136,13 @@ util_thread(struct uti_attr *arg) do_syscall(&request, ihk_mc_get_processor_id(), 0); do_exit(rc); } + } else if (rc == -ERESTARTSYS) { + /* tracer is not working and /dev/mcosX has detected exit of mcexec process */ + kprintf("%s: release_handler,pid=%d,tid=%d,rc=%lx\n", __FUNCTION__, thread->proc->pid, thread->tid, rc); + thread->proc->nohost = 1; + do_exit(rc); + } else { + kprintf("%s: unknown error (%ld)\n", __FUNCTION__, rc); } return rc; }