diff options
| -rw-r--r-- | lib/Plugins/CCpp.cpp | 17 | ||||
| -rw-r--r-- | src/Hooks/CCpp.cpp | 4 |
2 files changed, 21 insertions, 0 deletions
diff --git a/lib/Plugins/CCpp.cpp b/lib/Plugins/CCpp.cpp index fe6c56c..47bfceb 100644 --- a/lib/Plugins/CCpp.cpp +++ b/lib/Plugins/CCpp.cpp @@ -534,6 +534,23 @@ void CAnalyzerCCpp::Init() getline(fInCorePattern, m_sOldCorePattern); fInCorePattern.close(); } + if (m_sOldCorePattern[0] == '|') + { + if (m_sOldCorePattern == CORE_PATTERN) + { + fprintf(stderr, "warning: %s already contains %s, " + "did abrt daemon crash recently?\n", + CORE_PATTERN_IFACE, CORE_PATTERN); + /* There is no point in "restoring" CORE_PATTERN_IFACE + * to CORE_PATTERN on exit. Will restore to a default value: + */ + m_sOldCorePattern = "core"; + } + fprintf(stderr, "warning: %s was already set to run a crash analyser (%s), " + "abrt may interfere with it\b", + CORE_PATTERN_IFACE, CORE_PATTERN); + } + std::ofstream fOutCorePattern; fOutCorePattern.open(CORE_PATTERN_IFACE); if (fOutCorePattern.is_open()) diff --git a/src/Hooks/CCpp.cpp b/src/Hooks/CCpp.cpp index 27c813f..017ecc4 100644 --- a/src/Hooks/CCpp.cpp +++ b/src/Hooks/CCpp.cpp @@ -147,6 +147,10 @@ int main(int argc, char** argv) } if (!daemon_is_ok()) { + fprintf(stderr, "abrt daemon is not running. If it crashed, " + "/proc/sys/kernel/core_pattern contains a stale value, " + "consider resetting it to 'core'\n" + ); return 0; } |
