File indexing completed on 2024-04-06 12:12:47
0001 #include "FWCore/MessageService/test/makeSignals.h"
0002 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0003 #include "FWCore/MessageLogger/interface/MessageDrop.h"
0004 #include "FWCore/Framework/interface/Event.h"
0005 #include "FWCore/Framework/interface/MakerMacros.h"
0006
0007 #include <iostream>
0008 #include <string>
0009 #include <csignal>
0010
0011 #define RAISE_SEGV
0012
0013
0014 namespace edmtest {
0015
0016 void makeSignals::analyze(edm::StreamID, edm::Event const& e, edm::EventSetup const&
0017 ) const {
0018 #ifdef RAISE_SEGV
0019 int signum = 11;
0020 std::string SigName("SIGSEGV");
0021 #endif
0022
0023 #ifdef RAISE_USR2
0024 int signum = 12;
0025 std::string SigName("SIGUSR2");
0026 #endif
0027 edm::MessageDrop::instance()->debugEnabled = true;
0028
0029 LogTrace("cat_A") << "LogTrace was used to send this mess"
0030 << "age";
0031 LogDebug("cat_B") << "LogDebug was used to send this other message";
0032 edm::LogVerbatim("cat_A") << "LogVerbatim was us"
0033 << "ed to send this message";
0034 if (edm::isInfoEnabled())
0035 edm::LogInfo("cat_B") << "LogInfo was used to send this other message\n";
0036
0037 if (e.id().event() == 5) {
0038 std::cerr << "Raising Signal " << SigName << " = " << signum << std::endl;
0039 edm::LogInfo("Signals") << "Raising Signal " << SigName << " = " << signum;
0040 #ifdef RAISE_SEGV
0041 raise(SIGSEGV);
0042 #endif
0043
0044 #ifdef RAISE_USR2
0045 raise(SIGUSR2);
0046 #endif
0047
0048
0049
0050
0051 }
0052 }
0053 }
0054
0055 using edmtest::makeSignals;
0056 DEFINE_FWK_MODULE(makeSignals);