summaryrefslogtreecommitdiff
path: root/daemons/dmeventd
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2018-11-02 22:11:18 +0100
committerZdenek Kabelac <zkabelac@redhat.com>2018-11-03 16:10:32 +0100
commit0d934e730ec62d16c4f47dbb0d8e97ed16910786 (patch)
tree5fcc8e1b9994db5cba7431b30c3233ec108552d7 /daemons/dmeventd
parent813347cf84617a946d9184f44c5fbd275bb41766 (diff)
downloadlvm2-0d934e730ec62d16c4f47dbb0d8e97ed16910786.tar.gz
cov: trace failing pthread_kill
Diffstat (limited to 'daemons/dmeventd')
-rw-r--r--daemons/dmeventd/plugins/snapshot/dmeventd_snapshot.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/daemons/dmeventd/plugins/snapshot/dmeventd_snapshot.c b/daemons/dmeventd/plugins/snapshot/dmeventd_snapshot.c
index 6ffa9fc52..9e9053c0e 100644
--- a/daemons/dmeventd/plugins/snapshot/dmeventd_snapshot.c
+++ b/daemons/dmeventd/plugins/snapshot/dmeventd_snapshot.c
@@ -175,6 +175,7 @@ void process_event(struct dm_task *dmt,
const char *device = dm_task_get_name(dmt);
int percent;
struct dm_info info;
+ int ret;
/* No longer monitoring, waiting for remove */
if (!state->percent_check)
@@ -205,7 +206,8 @@ void process_event(struct dm_task *dmt,
/* Maybe configurable ? */
_remove(dm_task_get_uuid(dmt));
#endif
- pthread_kill(pthread_self(), SIGALRM);
+ if ((ret = pthread_kill(pthread_self(), SIGALRM)) && (ret != ESRCH))
+ log_sys_error("pthread_kill", "self");
goto out;
}
@@ -213,7 +215,8 @@ void process_event(struct dm_task *dmt,
/* TODO eventually recognize earlier when room is enough */
log_info("Dropping monitoring of fully provisioned snapshot %s.",
device);
- pthread_kill(pthread_self(), SIGALRM);
+ if ((ret = pthread_kill(pthread_self(), SIGALRM)) && (ret != ESRCH))
+ log_sys_error("pthread_kill", "self");
goto out;
}