diff options
author | Ondrej Kozina <okozina@redhat.com> | 2015-04-01 10:51:23 +0200 |
---|---|---|
committer | Ondrej Kozina <okozina@redhat.com> | 2015-04-01 11:48:39 +0200 |
commit | fe453a0be74b1bad7bc634033d4eb35282b3a9db (patch) | |
tree | 622ffe03882e96a3d95d28ddddb2a3e4ebeff695 | |
parent | 96c6251f0ff64d9823f26fb447129141ebf3fcf9 (diff) | |
download | lvm2-dev-okozina-polldaemon.tar.gz |
lvmpolld: kill all children during shutdowndev-okozina-polldaemon
-rw-r--r-- | daemons/lvmpolld/lvmpolld-data-utils.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/daemons/lvmpolld/lvmpolld-data-utils.c b/daemons/lvmpolld/lvmpolld-data-utils.c index 1499e3f59..326139a85 100644 --- a/daemons/lvmpolld/lvmpolld-data-utils.c +++ b/daemons/lvmpolld/lvmpolld-data-utils.c @@ -13,6 +13,8 @@ */ #include <fcntl.h> +#include <signal.h> +#include <sys/types.h> #include <unistd.h> #include "config-util.h" @@ -352,6 +354,12 @@ void lvmpolld_thread_data_destroy(void *thread_private) if (data->pdlv) { pdst_lock(data->pdlv->pdst); + /* + * FIXME: skip this step if lvmpolld is activated + * by systemd. + */ + if (!pdlv_get_polling_finished(data->pdlv)) + kill(data->pdlv->cmd_pid, SIGTERM); pdlv_set_polling_finished(data->pdlv, 1); pdst_locked_dec(data->pdlv->pdst); pdst_unlock(data->pdlv->pdst); |