From 82914c6a2eb023b820b5903199f032dc3f6021a9 Mon Sep 17 00:00:00 2001 From: Masamichi Takagi Date: Mon, 3 Sep 2018 14:02:15 +0900 Subject: [PATCH] remote_page_fault: Retry when interrupted Change-Id: Ib71a87ad03420e1918dc97da43351cb93e7d0754 --- executer/kernel/mcctrl/syscall.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/executer/kernel/mcctrl/syscall.c b/executer/kernel/mcctrl/syscall.c index 78b65300..684d0ecb 100644 --- a/executer/kernel/mcctrl/syscall.c +++ b/executer/kernel/mcctrl/syscall.c @@ -542,7 +542,13 @@ retry_alloc: __FUNCTION__, task_pid_vnr(current), fault_addr); /* wait for response */ error = wait_event_interruptible(wqhln->wq_syscall, wqhln->req); - + + /* Delay signal handling */ + if (error == -ERESTARTSYS) { + printk("%s: INFO: interrupted by signal\n", __FUNCTION__); + continue; + } + /* Remove per-thread wait queue head */ irqflags = ihk_ikc_spinlock_lock(&ppd->wq_list_lock); list_del(&wqhln->list);