CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Attributes
edm::service::UnixSignalService Class Reference

Public Member Functions

 UnixSignalService (ParameterSet const &ps)
 
 ~UnixSignalService ()
 

Static Public Member Functions

static void fillDescriptions (ConfigurationDescriptions &descriptions)
 

Private Attributes

bool enableSigInt_
 

Detailed Description

Definition at line 22 of file UnixSignalService.cc.

Constructor & Destructor Documentation

edm::service::UnixSignalService::UnixSignalService ( ParameterSet const &  ps)
explicit

Definition at line 39 of file UnixSignalService.cc.

References enableSigInt_, edm::ep_sigusr2(), and edm::installCustomHandler().

40  : enableSigInt_(pset.getUntrackedParameter<bool>("EnableCtrlC")) {
42  if (enableSigInt_)
44  }
void installCustomHandler(int signum, CFUNC func)
void ep_sigusr2(int, siginfo_t *, void *)
edm::service::UnixSignalService::~UnixSignalService ( )

Definition at line 46 of file UnixSignalService.cc.

46 {}

Member Function Documentation

void edm::service::UnixSignalService::fillDescriptions ( ConfigurationDescriptions descriptions)
static

Definition at line 48 of file UnixSignalService.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::addUntracked(), and edm::ConfigurationDescriptions::setComment().

48  {
50  desc.addUntracked<bool>("EnableCtrlC", true)
51  ->setComment(
52  "If 'true', you can stop a cmsRun job gracefully by sending it a '<control> c' keyboard interrupt (i.e. "
53  "SIGINT).");
54  descriptions.add("UnixSignalService", desc);
55  descriptions.setComment(
56  "This service sets up unix signal handlers for the unix signal SIGUSR2 and optionally SIGINT"
57  " so that when cmsRun is sent a signal the application will stop processing and shut down gracefully.");
58  }

Member Data Documentation

bool edm::service::UnixSignalService::enableSigInt_
private

Definition at line 30 of file UnixSignalService.cc.

Referenced by UnixSignalService().