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 <rjones@redhat.com> Signed-off-by: Richard Weinberger <richard@nod.at>
This commit is contained in:
@@ -235,6 +235,7 @@ extern void setup_machinename(char *machine_out);
|
||||
extern void setup_hostinfo(char *buf, int len);
|
||||
extern void os_dump_core(void) __attribute__ ((noreturn));
|
||||
extern void um_early_printk(const char *s, unsigned int n);
|
||||
extern void os_fix_helper_signals(void);
|
||||
|
||||
/* time.c */
|
||||
extern void idle_sleep(unsigned long long nsecs);
|
||||
|
Reference in New Issue
Block a user