diff options
author | Denys Vlasenko <dvlasenk@redhat.com> | 2011-02-01 15:58:44 +0100 |
---|---|---|
committer | Denys Vlasenko <dvlasenk@redhat.com> | 2011-02-01 15:58:44 +0100 |
commit | 058e0d3144b32d048c2a7637447881256e4c9997 (patch) | |
tree | 4190e018528d9f2f9a4a05398468da5d8a0de526 /src/daemon | |
parent | 876664f002c5f90e5722602956a6d60591619680 (diff) | |
download | abrt-058e0d3144b32d048c2a7637447881256e4c9997.tar.gz abrt-058e0d3144b32d048c2a7637447881256e4c9997.tar.xz abrt-058e0d3144b32d048c2a7637447881256e4c9997.zip |
use run_state->children_count == 0 check for "event not conf'd" condition
run_event_on_FOO() was returning -1 when it found that not even one
program was run on the requested event. Which is not a very natural
return value: in many cases this isn't an error.
This change makes it return 0 in this case. It is ok since now we have
run_state->children_count member which can be checked for 0 by those
callers which want to detect this condition.
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
Diffstat (limited to 'src/daemon')
-rw-r--r-- | src/daemon/MiddleWare.cpp | 5 | ||||
-rw-r--r-- | src/daemon/abrt-handle-crashdump.c | 2 |
2 files changed, 4 insertions, 3 deletions
diff --git a/src/daemon/MiddleWare.cpp b/src/daemon/MiddleWare.cpp index 8b8795a2..906b1464 100644 --- a/src/daemon/MiddleWare.cpp +++ b/src/daemon/MiddleWare.cpp @@ -147,7 +147,7 @@ static mw_result_t CreateCrashReport(const char *dump_dir_name, run_state->logging_callback = do_log_and_update_client; res = run_event_on_dir_name(run_state, dump_dir_name, force ? "reanalyze" : "analyze"); free_run_event_state(run_state); - if (res != 0 && res != -1) /* -1 is "nothing was done", here it is ok */ + if (res != 0) { r = MW_PLUGIN_ERROR; goto ret; @@ -317,9 +317,10 @@ report_status_t Report(crash_data_t *client_report, l_state.last_line = NULL; int r = run_event_on_dir_name(run_state, dump_dir_name, event.c_str()); - if (r == -1) + if (r == 0 && run_state->children_count == 0) { l_state.last_line = xasprintf("Error: no processing is specified for event '%s'", event.c_str()); + r = -1; } if (r == 0) { diff --git a/src/daemon/abrt-handle-crashdump.c b/src/daemon/abrt-handle-crashdump.c index c778c792..e7847c5f 100644 --- a/src/daemon/abrt-handle-crashdump.c +++ b/src/daemon/abrt-handle-crashdump.c @@ -93,7 +93,7 @@ int main(int argc, char **argv) struct run_event_state *run_state = new_run_event_state(); run_state->logging_callback = do_log; int r = run_event_on_dir_name(run_state, dump_dir_name ? dump_dir_name : ".", event); - if (r == -1) + if (r == 0 && run_state->children_count == 0) error_msg_and_die("No actions are found for event '%s'", event); free_run_event_state(run_state); |