[lvm-devel] LVM2 ./WHATS_NEW daemons/clvmd/clvmd.c
ccaulfield at sourceware.org
ccaulfield at sourceware.org
Tue Mar 24 11:49:16 UTC 2009
CVSROOT: /cvs/lvm2
Module name: LVM2
Changes by: ccaulfield at sourceware.org 2009-03-24 11:49:16
Modified files:
. : WHATS_NEW
daemons/clvmd : clvmd.c
Log message:
Block SIGINT & SIGTERM in clvmd subthreads so they don't delay shutdown.
Patch from Xinwei Hu, Thanks
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.1071&r2=1.1072
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/daemons/clvmd/clvmd.c.diff?cvsroot=lvm2&r1=1.55&r2=1.56
--- LVM2/WHATS_NEW 2009/03/23 22:57:27 1.1071
+++ LVM2/WHATS_NEW 2009/03/24 11:49:15 1.1072
@@ -1,5 +1,6 @@
Version 2.02.46 -
================================
+ Block SIGTERM & SIGINT in clvmd subthreads.
Detect and conditionally wipe swapspace signatures in pvcreate.
Fix maximal volume count check for snapshots if max_lv set for volume group.
Fix lvcreate to remove cow volume if the snapshot creation fails.
--- LVM2/daemons/clvmd/clvmd.c 2009/02/22 22:11:58 1.55
+++ LVM2/daemons/clvmd/clvmd.c 2009/03/24 11:49:15 1.56
@@ -372,9 +372,11 @@
signal(SIGHUP, sighup_handler);
signal(SIGPIPE, SIG_IGN);
- /* Block SIGUSR2 in the main process */
+ /* Block SIGUSR2/SIGINT/SIGTERM in process */
sigemptyset(&ss);
sigaddset(&ss, SIGUSR2);
+ sigaddset(&ss, SIGINT);
+ sigaddset(&ss, SIGTERM);
sigprocmask(SIG_BLOCK, &ss, NULL);
/* Initialise the LVM thread variables */
@@ -669,6 +671,11 @@
{
DEBUGLOG("Using timeout of %d seconds\n", cmd_timeout);
+ sigset_t ss;
+ sigemptyset(&ss);
+ sigaddset(&ss, SIGINT);
+ sigaddset(&ss, SIGTERM);
+ pthread_sigmask(SIG_UNBLOCK, &ss, NULL);
/* Main loop */
while (!quit) {
fd_set in;
More information about the lvm-devel
mailing list