summaryrefslogtreecommitdiffstats
path: root/lib/Plugins/Kerneloops.cpp
diff options
context:
space:
mode:
authorJiri Moskovcak <jmoskovc@redhat.com>2009-04-01 16:15:06 +0200
committerJiri Moskovcak <jmoskovc@redhat.com>2009-04-01 16:15:06 +0200
commit33ddf7110de2fc4130803b9a0079d00cb073d50d (patch)
treee81697e317a1db0f4746fcc6547e0b2a7c143f45 /lib/Plugins/Kerneloops.cpp
parentfd65c793997f3fcc1ee01ad4b0991afee1cc4d19 (diff)
parent84b0423bfe78f1b407fec1b3bb82a10c1817c25d (diff)
downloadabrt-33ddf7110de2fc4130803b9a0079d00cb073d50d.tar.gz
abrt-33ddf7110de2fc4130803b9a0079d00cb073d50d.tar.xz
abrt-33ddf7110de2fc4130803b9a0079d00cb073d50d.zip
Merge branch 'devel-kerneloops'
Diffstat (limited to 'lib/Plugins/Kerneloops.cpp')
-rw-r--r--lib/Plugins/Kerneloops.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/lib/Plugins/Kerneloops.cpp b/lib/Plugins/Kerneloops.cpp
index 5d041e0c..cf65c9ee 100644
--- a/lib/Plugins/Kerneloops.cpp
+++ b/lib/Plugins/Kerneloops.cpp
@@ -90,9 +90,7 @@ void CAnalyzerKerneloops::Report()
time_t t = time(NULL);
if (((time_t) -1) == t)
{
- fprintf(stderr, "Kerneloops: cannot get local time.\n");
- perror("");
- // TODO: throw -4
+ throw std::string("CAnalyzerKerneloops::Report(): cannot get local time.");
}
m_pOopsList = m_pSysLog.GetOopsList();
@@ -117,8 +115,7 @@ void CAnalyzerKerneloops::Report()
}
catch (std::string sError)
{
- fprintf(stderr, "Kerneloops: %s\n", sError.c_str());
- // TODO: throw -2
+ throw std::string("CAnalyzerKerneloops::Report(): ") + sError.c_str();
}
m_pOopsList.pop_back();
}
@@ -126,11 +123,14 @@ void CAnalyzerKerneloops::Report()
void CAnalyzerKerneloops::Init()
{
- /* hack: release Init() */
+ /* daemonize */
pid_t pid = fork();
+ if (pid < 0)
+ throw std::string("CAnalyzerKerneloops::Init(): fork failed.");
+
+ /* hack: release Init() */
if (pid)
return;
- // TODO: throw if we can't fork()
sched_yield();