summaryrefslogtreecommitdiffstats
path: root/src/Daemon/CrashWatcher.cpp
diff options
context:
space:
mode:
authorKarel Klic <kklic@redhat.com>2010-01-21 16:41:03 +0100
committerKarel Klic <kklic@redhat.com>2010-01-21 16:41:03 +0100
commit44d7d1e6acb25dc719838560b002514fc51b62c3 (patch)
treecfe5b65535df09f70838dfdcb4f45038fd5aa2b7 /src/Daemon/CrashWatcher.cpp
parent9774d96f40919e6b7dccb55739bb4ed52c0b90ba (diff)
parent3d7774875fab22b5fa9e21767c57be54e96ebaeb (diff)
downloadabrt-44d7d1e6acb25dc719838560b002514fc51b62c3.tar.gz
abrt-44d7d1e6acb25dc719838560b002514fc51b62c3.tar.xz
abrt-44d7d1e6acb25dc719838560b002514fc51b62c3.zip
Merge branch 'master' of ssh://git.fedorahosted.org/git/abrt
Diffstat (limited to 'src/Daemon/CrashWatcher.cpp')
-rw-r--r--src/Daemon/CrashWatcher.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/Daemon/CrashWatcher.cpp b/src/Daemon/CrashWatcher.cpp
index 80d8cd4..93365f3 100644
--- a/src/Daemon/CrashWatcher.cpp
+++ b/src/Daemon/CrashWatcher.cpp
@@ -57,12 +57,11 @@ vector_map_crash_data_t GetCrashInfos(const char *pUID)
unsigned int ii;
for (ii = 0; ii < UUIDsUIDs.size(); ii++)
{
- mw_result_t res;
- map_crash_data_t info;
const char *uuid = UUIDsUIDs[ii].first.c_str();
const char *uid = UUIDsUIDs[ii].second.c_str();
- res = FillCrashInfo(uuid, uid, info);
+ map_crash_data_t info;
+ mw_result_t res = FillCrashInfo(uuid, uid, info);
switch (res)
{
case MW_OK:
@@ -96,18 +95,18 @@ vector_map_crash_data_t GetCrashInfos(const char *pUID)
* StartJob dbus call already did all the processing, and we just retrieve
* the result from dump directory, which is fast.
*/
-map_crash_data_t CreateReport(const char* pUUID, const char* pUID, int force)
+void CreateReport(const char* pUUID, const char* pUID, int force, map_crash_data_t& crashReport)
{
/* FIXME: starting from here, any shared data must be protected with a mutex.
* For example, CreateCrashReport does:
* g_pPluginManager->GetDatabase(g_settings_sDatabase.c_str());
* which is unsafe wrt concurrent updates to g_pPluginManager state.
*/
- map_crash_data_t crashReport;
mw_result_t res = CreateCrashReport(pUUID, pUID, force, crashReport);
switch (res)
{
case MW_OK:
+ VERB2 log_map_crash_data(crashReport, "crashReport");
break;
case MW_IN_DB_ERROR:
error_msg("Can't find crash with UUID %s in database", pUUID);
@@ -120,7 +119,6 @@ map_crash_data_t CreateReport(const char* pUUID, const char* pUID, int force)
DeleteDebugDump(pUUID, pUID);
break;
}
- return crashReport;
}
typedef struct thread_data_t {
@@ -140,7 +138,8 @@ static void* create_report(void* arg)
try
{
log("Creating report...");
- map_crash_data_t crashReport = CreateReport(thread_data->UUID, thread_data->UID, thread_data->force);
+ map_crash_data_t crashReport;
+ CreateReport(thread_data->UUID, thread_data->UID, thread_data->force, crashReport);
g_pCommLayer->JobDone(thread_data->peer, thread_data->UUID);
}
catch (CABRTException& e)