diff options
author | Nikola Pajkovsky <npajkovs@redhat.com> | 2009-11-26 19:07:05 +0100 |
---|---|---|
committer | Nikola Pajkovsky <npajkovs@redhat.com> | 2009-11-26 19:07:05 +0100 |
commit | 97311fe0f6970b9c791a872d6bd43c390d54859f (patch) | |
tree | c9cc96048216cb04451bf6501ff72648222f5648 /src/Daemon/Daemon.cpp | |
parent | 198d3d363d360b65b37753411ca8f6faf544f762 (diff) | |
download | abrt-97311fe0f6970b9c791a872d6bd43c390d54859f.tar.gz abrt-97311fe0f6970b9c791a872d6bd43c390d54859f.tar.xz abrt-97311fe0f6970b9c791a872d6bd43c390d54859f.zip |
Kerneloops are reported automaticky now when AutoReportUIDs = root is in Kerneloops.conf
Signed-off-by: Nikola Pajkovsky <npajkovs@redhat.com>
Diffstat (limited to 'src/Daemon/Daemon.cpp')
-rw-r--r-- | src/Daemon/Daemon.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/Daemon/Daemon.cpp b/src/Daemon/Daemon.cpp index 504b4f04..0e80c25b 100644 --- a/src/Daemon/Daemon.cpp +++ b/src/Daemon/Daemon.cpp @@ -494,6 +494,28 @@ static gboolean handle_inotify_cb(GIOChannel *gio, GIOCondition condition, gpoin log("Already saved crash, just sending dbus signal"); /* Send dbus signal */ { + // I don't see any usable usecase for other plugin to be able automatic report. + if (analyzer_has_AutoReportUIDs(/*crashinfo[CD_MWANALYZER][CD_CONTENT].c_str()*/"Kerneloops",crashinfo[CD_UID][CD_CONTENT].c_str())) + { + map_crash_report_t crash_report; + VERB3 log("Create autoreport for user with uid %s",crashinfo[CD_UID][CD_CONTENT].c_str()); + mw_result_t crash_result = CreateCrashReport(crashinfo[CD_UUID][CD_CONTENT].c_str(), crashinfo[CD_UID][CD_CONTENT].c_str(), 0, crash_report); + if (crash_result == MW_OK) + { + map_analyzer_actions_and_reporters_t::const_iterator it = g_settings_mapAnalyzerActionsAndReporters.find("Kerneloops"); + map_analyzer_actions_and_reporters_t::const_iterator end = g_settings_mapAnalyzerActionsAndReporters.end(); + if (it != end) + { + vector_pair_string_string_t keys = it->second; + + uint32_t size = keys.size(); + for (uint32_t ii = 0; ii < size; ii++) + { + autoreport(keys[ii], crash_report); + } + } + } + } const char *uid_str = analyzer_has_InformAllUsers(crashinfo[CD_MWANALYZER][CD_CONTENT].c_str()) ? NULL : crashinfo[CD_UID][CD_CONTENT].c_str(); |