summaryrefslogtreecommitdiffstats
path: root/src/Daemon/CrashWatcher.cpp
diff options
context:
space:
mode:
authorZdenek Prikryl <zdeny@dhcp-lab-218.englab.brq.redhat.com>2009-04-16 15:19:21 +0200
committerZdenek Prikryl <zdeny@dhcp-lab-218.englab.brq.redhat.com>2009-04-16 15:19:21 +0200
commitd71fe39576ded4e9567f5f938e9ef67183bb8afd (patch)
treeece53e7155d3d85ce5d2e700c3cf729f42241b4c /src/Daemon/CrashWatcher.cpp
parent3e7c2ab09e4bcb4b63fd80ed33c99539d3a27c5f (diff)
downloadabrt-d71fe39576ded4e9567f5f938e9ef67183bb8afd.tar.gz
abrt-d71fe39576ded4e9567f5f938e9ef67183bb8afd.tar.xz
abrt-d71fe39576ded4e9567f5f938e9ef67183bb8afd.zip
simple report can be activated immediately after a crash occurs
Diffstat (limited to 'src/Daemon/CrashWatcher.cpp')
-rw-r--r--src/Daemon/CrashWatcher.cpp16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/Daemon/CrashWatcher.cpp b/src/Daemon/CrashWatcher.cpp
index b2c42ce..7c043c2 100644
--- a/src/Daemon/CrashWatcher.cpp
+++ b/src/Daemon/CrashWatcher.cpp
@@ -81,6 +81,7 @@ gboolean CCrashWatcher::handle_event_cb(GIOChannel *gio, GIOCondition condition,
{
if(cc->m_pMW->SaveDebugDump(std::string(DEBUG_DUMPS_DIR) + "/" + name, crashinfo))
{
+ cc->m_pMW->Report(std::string(DEBUG_DUMPS_DIR) + "/" + name);
/* send message to dbus */
cc->m_pCommLayer->Crash(crashinfo[CD_PACKAGE][CD_CONTENT]);
}
@@ -131,9 +132,15 @@ void CCrashWatcher::SetUpMW()
{
m_pMW->RegisterPlugin(*it_p);
}
- CSettings::map_analyzer_reporters_t reporters = m_pSettings->GetReporters();
+ CSettings::set_strings_t reporters = m_pSettings->GetReporters();
+ CSettings::set_strings_t::iterator it_r;
+ for (it_r = reporters.begin(); it_r != reporters.end(); it_r++)
+ {
+ m_pMW->AddReporter(*it_r);
+ }
+ CSettings::map_analyzer_reporters_t analyzer_reporters = m_pSettings->GetAnalyzerReporters();
CSettings::map_analyzer_reporters_t::iterator it_pr;
- for (it_pr = reporters.begin(); it_pr != reporters.end(); it_pr++)
+ for (it_pr = analyzer_reporters.begin(); it_pr != analyzer_reporters.end(); it_pr++)
{
CSettings::set_strings_t::iterator it_r;
for (it_r = it_pr->second.begin(); it_r != it_pr->second.end(); it_r++)
@@ -141,9 +148,9 @@ void CCrashWatcher::SetUpMW()
m_pMW->AddAnalyzerReporter(it_pr->first, *it_r);
}
}
- CSettings::map_analyzer_actions_t actions = m_pSettings->GetActions();
+ CSettings::map_analyzer_actions_t analyser_actions = m_pSettings->GetAnalyzerActions();
CSettings::map_analyzer_actions_t::iterator it_pa;
- for (it_pa = actions.begin(); it_pa != actions.end(); it_pa++)
+ for (it_pa = analyser_actions.begin(); it_pa != analyser_actions.end(); it_pa++)
{
CSettings::set_actions_t::iterator it_a;
for (it_a = it_pa->second.begin(); it_a != it_pa->second.end(); it_a++)
@@ -262,6 +269,7 @@ void CCrashWatcher::FindNewDumps(const std::string& pPath)
if(m_pMW->SaveDebugDump(*itt, crashinfo))
{
std::cerr << "Saved new entry: " << *itt << std::endl;
+ m_pMW->Report(*itt);
}
}
catch(std::string err)