summaryrefslogtreecommitdiffstats
path: root/src/Daemon/CrashWatcher.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Daemon/CrashWatcher.cpp')
-rw-r--r--src/Daemon/CrashWatcher.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/Daemon/CrashWatcher.cpp b/src/Daemon/CrashWatcher.cpp
index 1606f86d..88c058b0 100644
--- a/src/Daemon/CrashWatcher.cpp
+++ b/src/Daemon/CrashWatcher.cpp
@@ -73,6 +73,8 @@ vector_crash_infos_t GetCrashInfos(const char *pUID)
/* Deletes both DB record and dump dir */
DeleteDebugDump(uuid, uid);
break;
+ default:
+ break;
}
}
}
@@ -191,7 +193,7 @@ int CreateReportThread(const char* pUUID, const char* pUID, int force, const cha
/* Remove dump dir and its DB record */
-void DeleteDebugDump(const char *pUUID, const char *pUID)
+int DeleteDebugDump(const char *pUUID, const char *pUID)
{
try
{
@@ -201,12 +203,18 @@ void DeleteDebugDump(const char *pUUID, const char *pUID)
database->DeleteRow(pUUID, pUID);
database->DisConnect();
- delete_debug_dump_dir(row.m_sDebugDumpDir.c_str());
+ const char *dump_dir = row.m_sDebugDumpDir.c_str();
+ if (dump_dir[0] != '\0')
+ {
+ delete_debug_dump_dir(dump_dir);
+ return 0; /* success */
+ }
}
catch (CABRTException& e)
{
error_msg("%s", e.what());
}
+ return -1; /* failure */
}
void DeleteDebugDump_by_dir(const char *dump_dir)