From bb4317beafd222c7782329d910576c28e477c523 Mon Sep 17 00:00:00 2001 From: Masamichi Takagi Date: Fri, 31 Aug 2018 21:48:36 +0900 Subject: [PATCH] uti: futex: Propagate -ERESTARTSYS returned by wait_event_interruptible() Change-Id: Id36c4df0e0a8e1f64b12c635c0502f63552ba50b --- kernel/futex.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kernel/futex.c b/kernel/futex.c index c657dfa2..66682cc2 100644 --- a/kernel/futex.c +++ b/kernel/futex.c @@ -871,8 +871,10 @@ retry: goto out_put_key; } - if (hassigpending(cpu_local_var(current))) { + /* RIKEN: futex_wait_queue_me() returns -ERESTARTSYS when waiting on Linux CPU and woken up by signal */ + if (hassigpending(cpu_local_var_with_override(current, clv_override)) || time_remain == -ERESTARTSYS) { ret = -EINTR; + uti_dkprintf("%s: tid=%d woken up by signal\n", __FUNCTION__, cpu_local_var_with_override(current, clv_override)->tid); goto out_put_key; }