#include "TEnv.h"
#include "TSystem.h"
#include "TEveManager.h"
#include "TRint.h"
#include "TApplication.h"
#include "TSysEvtHandler.h"
#include "Getline.h"
#include <iostream>
#include <fstream>
#include <cstring>
#include <memory>
#include <csignal>
#include "Fireworks/Core/interface/CmsShowMain.h"
#include "Fireworks/Core/interface/fwPaths.h"
#include "FWCore/MessageLogger/interface/AbstractMLscribe.h"
#include "FWCore/MessageLogger/interface/ErrorObj.h"
#include "FWCore/MessageLogger/interface/MessageLoggerQ.h"
#include "FWCore/MessageLogger/interface/MessageDrop.h"
Go to the source code of this file.
|
int | main (int argc, char **argv) |
|
void | run_app (TApplication &app, int argc, char **argv) |
|
◆ main()
int main |
( |
int |
argc, |
|
|
char ** |
argv |
|
) |
| |
Definition at line 117 of file cmsShow.cc.
References dir2webdir::argc, cmsBatch::argv, EcnaPython_AdcPeg12_S1_10_R170298_1_0_150_Dee0::cerr, cppFunctionSkipper::exception, mps_fire::i, run_app(), fireworks::setPath(), and mps_setup::stdout.
118 const char* dummyArgvArray[] = {
"cmsShow"};
119 char** dummyArgv =
const_cast<char**
>(dummyArgvArray);
121 gEnv->SetValue(
"Gui.BackgroundColor",
"#9f9f9f");
125 if (gSystem->Getenv(
"CMSSW_VERSION")) {
126 infoText = gSystem->Getenv(
"CMSSW_VERSION");
128 TString infoFileName(
"data/version.txt");
130 std::ifstream infoFile(infoFileName);
131 infoText.ReadLine(infoFile);
134 printf(
"Starting cmsShow, version %s.\n", infoText.Data());
139 for (Int_t
i = 0;
i <
argc;
i++) {
140 if (strncmp(
argv[
i],
"-r", 2) == 0 || strncmp(
argv[
i],
"--root", 6) == 0) {
148 std::cerr <<
"WARNING:You are running cmsShow with ROOT prompt enabled." << std::endl;
149 std::cerr <<
"If you encounter an issue you suspect to be a bug in " << std::endl;
150 std::cerr <<
"cmsShow, please re-run without this option and try to " << std::endl;
151 std::cerr <<
"reproduce it before submitting a bug-report. " << std::endl;
154 TRint app(
"cmsShow", &dummyArgc, dummyArgv);
157 TApplication app(
"cmsShow", &dummyArgc, dummyArgv);
161 std::cerr <<
"CmsShow unhandled exception " << iException.what() << std::endl;
void run_app(TApplication &app, int argc, char **argv)
◆ run_app()
void run_app |
( |
TApplication & |
app, |
|
|
int |
argc, |
|
|
char ** |
argv |
|
) |
| |
Definition at line 81 of file cmsShow.cc.
References dir2webdir::argc, cmsBatch::argv, edm::MessageDrop::instance(), edm::MessageDrop::messageLoggerScribeIsRunning, edm::MessageLoggerQ::MLqEND(), edm::MLSCRIBE_RUNNING_INDICATOR, and edm::MessageLoggerQ::setMLscribe_ptr().
Referenced by main().
84 std::shared_ptr<edm::service::AbstractMLscribe>(std::make_shared<SilentMLscribe>()));
91 gSystem->ResetSignal(kSigBus);
92 gSystem->ResetSignal(kSigSegmentationViolation);
93 gSystem->ResetSignal(kSigIllegalInstruction);
94 gSystem->ResetSignal(kSigSystem);
95 gSystem->ResetSignal(kSigPipe);
96 gSystem->ResetSignal(kSigFloatingException);
99 sac.sa_sigaction = signal_handler_wrapper;
100 sigemptyset(&sac.sa_mask);
101 sac.sa_flags = SA_SIGINFO;
102 sigaction(SIGILL, &sac,
nullptr);
103 sigaction(SIGSEGV, &sac,
nullptr);
104 sigaction(SIGBUS, &sac,
nullptr);
105 sigaction(SIGFPE, &sac,
nullptr);
110 TEveManager::Terminate();
static unsigned char messageLoggerScribeIsRunning
static MessageDrop * instance()
static const unsigned char MLSCRIBE_RUNNING_INDICATOR
static void setMLscribe_ptr(std::shared_ptr< edm::service::AbstractMLscribe > m)