um: Cleanup SIGTERM handling
authorRichard Weinberger <richard@nod.at>
Sun, 18 Aug 2013 11:30:08 +0000 (13:30 +0200)
committerRichard Weinberger <richard@nod.at>
Sat, 7 Sep 2013 08:56:58 +0000 (10:56 +0200)
commit91d44ff860a9e9c0db81a89cbc24fa31fbd8e6d3
treebb14601ab3afbcec3cb8d7d0f207d09cfc792268
parentbc1d72e73be63a7c4a07eb10cf51e91f20bf6076
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>
arch/um/drivers/ubd.h
arch/um/drivers/ubd_kern.c
arch/um/drivers/ubd_user.c
arch/um/include/shared/os.h
arch/um/os-Linux/aio.c
arch/um/os-Linux/process.c
arch/um/os-Linux/sigio.c
arch/um/os-Linux/util.c