summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2012-04-24 12:25:12 +0000
committerZdenek Kabelac <zkabelac@redhat.com>2012-04-24 12:25:12 +0000
commitd6f894edf88c83ea8605d005ebb5d14e0c75fe36 (patch)
tree5a3e6de53d32e3ea0ae33c0ca67b2adb1f0577ef
parentdd11efb673da04ef356712a09e7ce11e4e3fd085 (diff)
downloadlvm2-d6f894edf88c83ea8605d005ebb5d14e0c75fe36.tar.gz
lvm2-d6f894edf88c83ea8605d005ebb5d14e0c75fe36.tar.xz
lvm2-d6f894edf88c83ea8605d005ebb5d14e0c75fe36.zip
Synchronize with self-destruction of dmeventd
In some occasional case dmevent restart was experiencing problems with obtaining pid lockfile. So this patch tries to send several more kill message until daemon kills itself so there is would reponse. With this small loop the restart seems to work reliable, although the loopsize and usleep are just randomly picked for now.
-rw-r--r--WHATS_NEW_DM1
-rw-r--r--daemons/dmeventd/dmeventd.c7
2 files changed, 8 insertions, 0 deletions
diff --git a/WHATS_NEW_DM b/WHATS_NEW_DM
index d68c000e..28fd06d0 100644
--- a/WHATS_NEW_DM
+++ b/WHATS_NEW_DM
@@ -1,5 +1,6 @@
Version 1.02.75 -
================================
+ Synchronize with dead of dmeventd.
Rename (Blk)DevNames/DevNos dmsetup header to (Blk)DevNamesUsed/DevNosUsed.
Add configure --with-veritysetup for independent veritysetup tool.
Properly support passed in dmevent path in dm_event_register_handler().
diff --git a/daemons/dmeventd/dmeventd.c b/daemons/dmeventd/dmeventd.c
index ab9d23d3..801c984f 100644
--- a/daemons/dmeventd/dmeventd.c
+++ b/daemons/dmeventd/dmeventd.c
@@ -1893,6 +1893,13 @@ static void restart(void)
exit(EXIT_FAILURE);
}
+ /* Let's wait a bit till deamon dies - spaming him with messages meanwhile */
+ for (i = 0; i < 10; ++i) {
+ if (daemon_talk(&fifos, &msg, DM_EVENT_CMD_DIE, "-", "-", 0, 0))
+ break; /* yep, it's dead probably */
+ usleep(10);
+ }
+
fini_fifos(&fifos);
}