aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/os-Linux/process.c
diff options
context:
space:
mode:
authorRichard Weinberger <[email protected]>2013-08-18 11:30:08 +0000
committerRichard Weinberger <[email protected]>2013-09-07 08:56:58 +0000
commit91d44ff860a9e9c0db81a89cbc24fa31fbd8e6d3 (patch)
treebb14601ab3afbcec3cb8d7d0f207d09cfc792268 /arch/um/os-Linux/process.c
parentum: ubd: Introduce submit_request() (diff)
downloadkernel-91d44ff860a9e9c0db81a89cbc24fa31fbd8e6d3.tar.gz
kernel-91d44ff860a9e9c0db81a89cbc24fa31fbd8e6d3.zip
um: Cleanup SIGTERM handling
Richard reported that some UML processes survive if the UML main process receives a SIGTERM. This issue was caused by a wrongly placed signal(SIGTERM, SIG_DFL) in init_new_thread_signals(). It disabled the UML exit handler accidently for some processes. The correct solution is to disable the fatal handler for all UML helper threads/processes. Such that last_ditch_exit() does not get called multiple times and all processes can exit due to SIGTERM. Reported-and-tested-by: Richard W.M. Jones <[email protected]> Signed-off-by: Richard Weinberger <[email protected]>
Diffstat (limited to 'arch/um/os-Linux/process.c')
-rw-r--r--arch/um/os-Linux/process.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/arch/um/os-Linux/process.c b/arch/um/os-Linux/process.c
index 67b9c8f5a89e..33496fe2bb52 100644
--- a/arch/um/os-Linux/process.c
+++ b/arch/um/os-Linux/process.c
@@ -294,5 +294,4 @@ void init_new_thread_signals(void)
signal(SIGHUP, SIG_IGN);
set_handler(SIGIO);
signal(SIGWINCH, SIG_IGN);
- signal(SIGTERM, SIG_DFL);
}