|
Jiri |
676fa8 |
From 26a0f776d32d0d5be2e15abe781adf5a830c24cc Mon Sep 17 00:00:00 2001
|
|
Jiri |
676fa8 |
From: Denys Vlasenko <dvlasenk@redhat.com>
|
|
Jiri |
676fa8 |
Date: Wed, 7 Dec 2011 14:14:56 +0100
|
|
Jiri |
676fa8 |
Subject: [PATCH 4/5] abrtd: always explain why we delete "corrupted" dir.
|
|
Jiri |
676fa8 |
Closes rhbz#706131.
|
|
Jiri |
676fa8 |
|
|
Jiri |
676fa8 |
We were almost always explaining it, except for the case when
|
|
Jiri |
676fa8 |
'post-create' was failing silently.
|
|
Jiri |
676fa8 |
|
|
Jiri |
676fa8 |
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
|
Jiri |
676fa8 |
---
|
|
Jiri |
676fa8 |
src/daemon/abrtd.c | 12 +++++++++++-
|
|
Jiri |
676fa8 |
1 files changed, 11 insertions(+), 1 deletions(-)
|
|
Jiri |
676fa8 |
|
|
Jiri |
676fa8 |
diff --git a/src/daemon/abrtd.c b/src/daemon/abrtd.c
|
|
Jiri |
676fa8 |
index 743e40f..b5c3d4b 100644
|
|
Jiri |
676fa8 |
--- a/src/daemon/abrtd.c
|
|
Jiri |
676fa8 |
+++ b/src/daemon/abrtd.c
|
|
Jiri |
676fa8 |
@@ -313,14 +313,24 @@ static mw_result_t run_post_create_and_load_data(const char *dump_dir_name, prob
|
|
Jiri |
676fa8 |
/* Prevent having zombie child process */
|
|
Jiri |
676fa8 |
int status;
|
|
Jiri |
676fa8 |
safe_waitpid(child, &status, 0);
|
|
Jiri |
676fa8 |
- /* status = WEXITSTATUS(status); - wrong, we need to check WIFEXITED too */
|
|
Jiri |
676fa8 |
|
|
Jiri |
676fa8 |
/* exit 0 means "this is a good, non-dup dir" */
|
|
Jiri |
676fa8 |
/* exit with 1 + "DUP_OF_DIR: dir" string => dup */
|
|
Jiri |
676fa8 |
if (status != 0)
|
|
Jiri |
676fa8 |
{
|
|
Jiri |
676fa8 |
+ if (WIFSIGNALED(status))
|
|
Jiri |
676fa8 |
+ {
|
|
Jiri |
676fa8 |
+ log("'post-create' on '%s' killed by signal %d",
|
|
Jiri |
676fa8 |
+ dump_dir_name, WTERMSIG(status));
|
|
Jiri |
676fa8 |
+ return MW_ERROR;
|
|
Jiri |
676fa8 |
+ }
|
|
Jiri |
676fa8 |
+ /* else: it is WIFEXITED(status) */
|
|
Jiri |
676fa8 |
if (!dup_of_dir)
|
|
Jiri |
676fa8 |
+ {
|
|
Jiri |
676fa8 |
+ log("'post-create' on '%s' exited with %d",
|
|
Jiri |
676fa8 |
+ dump_dir_name, WEXITSTATUS(status));
|
|
Jiri |
676fa8 |
return MW_ERROR;
|
|
Jiri |
676fa8 |
+ }
|
|
Jiri |
676fa8 |
dump_dir_name = dup_of_dir;
|
|
Jiri |
676fa8 |
}
|
|
Jiri |
676fa8 |
|
|
Jiri |
676fa8 |
--
|
|
Jiri |
676fa8 |
1.7.7.3
|
|
Jiri |
676fa8 |
|