CMS 3D CMS Logo

Classes | Typedefs | Functions | Variables

edm::service Namespace Reference

Classes

class  AbstractMLscribe
struct  close_and_delete
class  CPU
class  ELadminDestroyer
class  ELadministrator
class  ELcollected
class  ELcontextSupplier
class  ELdestControl
class  ELdestination
class  ELemptyContextSupplier
class  ELerrorList
class  ELfwkJobReport
class  ELlimitsTable
class  ELoutput
class  ELsender
class  ELservConSup
struct  ELsetS
class  ELstatistics
class  ELtsErrorLog
class  EnableFloatingPointExceptions
class  ErrorLog
class  IgProfService
class  InitRootHandlers
class  JobReportService
struct  linux_proc
class  LoadAllDictionaries
class  MainThreadMLscribe
class  MessageLogger
struct  MessageLoggerDefaults
class  MessageLoggerScribe
class  MessageServicePresence
class  MessageServicePSetValidation
class  MsgContext
class  NamedDestination
class  PathTimerService
class  PrescaleService
struct  procInfo
class  RandomNumberGeneratorService
class  SilentMLscribe
class  SimpleMemoryCheck
class  SimpleProfiling
class  SingleThreadMSPresence
class  SiteLocalConfigService
struct  smapsInfo
class  ThreadQueue
class  ThreadSafeErrorLog
class  Timing
class  Tracer
class  TriggerNamesService
class  UnixSignalService

Typedefs

typedef std::set< ELsetSELset_string

Functions

static std::string d2str (double d)
void ELrecv (int nbytes, const char *data)
void ELrecv (int nbytes, const char *data, ELstring localModule)
template<class T >
void ELtsItem (ELtsErrorLog &e, const T &t)
void ELtsItem (ELtsErrorLog &e, long n)
void ELtsItem (ELtsErrorLog &e, unsigned long n)
void ELtsItem (ELtsErrorLog &e, const char s[])
void ELtsItem (ELtsErrorLog &e, short n)
void ELtsItem (ELtsErrorLog &e, unsigned short n)
void ELtsItem (ELtsErrorLog &e, int n)
void ELtsItem (ELtsErrorLog &e, unsigned int n)
void endmsg (ErrorLog &log)
static ELstring formatTime (const time_t t)
static double getCPU ()
static double getTime ()
static std::string i2str (int i)
bool isProcessWideService (TFileAdaptor const *)
bool isProcessWideService (SiteLocalConfigService const *)
bool isProcessWideService (JobReportService const *)
bool isProcessWideService (MessageLogger const *)
bool isProcessWideService (InitRootHandlers const *)
bool isProcessWideService (void const *)
bool isProcessWideService (CPU const *)
static void msgabort ()
static void msgexit (int s)
ErrorLogoperator<< (ErrorLog &e, const char s[])
std::ostream & operator<< (std::ostream &os, SimpleMemoryCheck::SignificantEvent const &se)
ErrorLogoperator<< (ErrorLog &e, long n)
ErrorLogoperator<< (ErrorLog &e, int n)
ErrorLogoperator<< (ErrorLog &e, unsigned int n)
template<class Mutex , class T >
ThreadSafeErrorLog< Mutex > & operator<< (ThreadSafeErrorLog< Mutex > &e, const T &t)
template<class T >
ErrorLogoperator<< (ErrorLog &e, const T &t)
ErrorLogoperator<< (ErrorLog &e, unsigned short n)
ErrorLogoperator<< (ErrorLog &e, unsigned long n)
std::ostream & operator<< (std::ostream &os, SimpleMemoryCheck::SignificantModule const &sm)
template<class Mutex >
ThreadSafeErrorLog< Mutex > & operator<< (ThreadSafeErrorLog< Mutex > &e, void(*f)(ErrorLog &))
ErrorLogoperator<< (ErrorLog &e, short n)
static void possiblyAbOrEx (int s, int a, int e)
static void possiblyAbortOrExit (int s, int a, int e)

Variables

static ELemptyContextSupplier emptyContext
static ELstring hereMsg = "available via this destination"
static ELstring noClearSummaryMsg = "No clearSummary()"
static ELstring noosMsg = "No ostream"
static ELstring noSummarizationMsg = "No summarization()"
static ELstring noSummaryMsg = "No summary()"
static ELstring notELoutputMsg = "This destination is not an ELoutput"

Typedef Documentation

Definition at line 33 of file ELset.h.


Function Documentation

static std::string edm::service::d2str ( double  d) [static]
void edm::service::ELrecv ( int  nbytes,
const char *  data 
)

Definition at line 42 of file ELrecv.cc.

Referenced by edm::service::ErrorLog::operator()().

                                                {
  ELrecv ( nbytes, data, "*ELrecv*" );
}
void edm::service::ELrecv ( int  nbytes,
const char *  data,
ELstring  localModule 
)

Definition at line 47 of file ELrecv.cc.

References AlCaHLTBitMon_QueryRunRegistry::data, diffTreeTool::diff, edm::ELerror2, edm::ELseverityLevel::ELsev_highestSeverity, edm::ELseverityLevel::ELsev_unspecified, edm::ELseverityLevel::ELsev_zeroSeverity, endmsg(), edm::service::ELadministrator::instance(), fwlog::logger(), module(), align_tpl::process, edm::service::ELservConSup::setContext(), edm::service::ELservConSup::setFullContext(), edm::service::ErrorLog::setModule(), edm::service::ErrorLog::setSubroutine(), edm::service::ELservConSup::setSummaryContext(), edm::service::ELadministrator::swapContextSupplier(), and edm::service::ELadministrator::swapProcess().

                                                                      {

  static const int  MAXITEMCOUNT = 100;

  static ErrorLog           errlog;
  static ELservConSup       con;
  static ELadministrator *  logger = ELadministrator::instance();

  // Pull out the extended id.  Carefully look at ELcollected::emitXid to
  // make certain we take things out in the proper order.

  ELstring process;
  ELstring module;
  ELstring subroutine;
  ELstring id;
  ELstring sevString;
  int      sevLevel;

  const char *  nextItem = data;

  process = nextItem;
  nextItem += strlen(nextItem) + 1;

  if (localModule == "*ELrecv*")  module = nextItem;
  else                            module = localModule + ":" + nextItem;
  nextItem += strlen(nextItem) + 1;

  subroutine = nextItem;
  nextItem += strlen(nextItem) + 1;

  id = nextItem;
  nextItem += strlen(nextItem) + 1;

  sevString = nextItem;
  nextItem += strlen(nextItem) + 1;
  std::istringstream  ist (sevString);
  if ( ! (ist >> sevLevel) )  {
    // This should not be possible.  But if it does, we don't want to
    // kill off the probably critical error monitoring job!
    errlog ( ELerror2, "Collection Error" ) <<
        "An error message received has an unreadable value of severity level"
        << sevString << endmsg;
    sevLevel = ELseverityLevel::ELsev_unspecified;
  }
  if ( sevLevel < ELseverityLevel::ELsev_zeroSeverity ||
       sevLevel > ELseverityLevel::ELsev_highestSeverity )  {
    // Again, this should not be possible.
    errlog ( ELerror2, "Collection Error" ) <<
        "An error message received has an out-of-range value of severity level"
        << sevString << endmsg;
    sevLevel = ELseverityLevel::ELsev_unspecified;
  }

  // Pull out the context strings and set up the special supplier.

  ELstring  context;

  context = nextItem;
  nextItem += strlen(nextItem) + 1;
  con.setSummaryContext( context );

  context = nextItem;
  nextItem += strlen(nextItem) + 1;
  con.setContext( context );

  context = nextItem;
  nextItem += strlen(nextItem) + 1;
  con.setFullContext( context );

  // Remember the context supplier, and substitute the special supplier.

  ELcontextSupplier & oldCS = logger->swapContextSupplier(con);

  // Set the module, subroutine, and process according to this xid.

  ELstring  oldProcess = logger->swapProcess(process);
  errlog.setModule (module);
  errlog.setSubroutine(subroutine);

  // Instantiate a message with the appropriate severity level and id.

  errlog ( ELseverityLevel( ELseverityLevel::ELsev_(sevLevel)), id );

  // Add the remaining items to this message.
  //    To avoid any possibility of a completely runaway message, we limit
  //    the number of items output to 100 by doing a for instead of a while
  //    loop.

  ELstring  item;
  int       itemCount;
  for ( itemCount = 0; itemCount < MAXITEMCOUNT; itemCount++ )  {
    if (*nextItem == 0) break;
    item = nextItem;
    nextItem += strlen(nextItem) + 1;
    errlog << item;
  }

  // If the direct ELrecv form was used, end the message,
  // thus causing the logging.  If the errlog (nbytes, data) form was
  // used, the user will supply the endmsg.

  if ( localModule == "*ELrecv*" )  {
    errlog << endmsg;
  }

  if ( *nextItem++ != 0 )  {
    errlog << endmsg;
    errlog ( ELerror2, "Collection Error" ) <<
        "Apparent runaway error message on the previous message!" <<
        "Truncated after " << MAXITEMCOUNT << "items." << endmsg;
  }
  int  diff = nextItem - data;
  if ( diff != nbytes )  {
    errlog << endmsg;
    errlog ( ELerror2, "Collection Error" ) <<
    "Apparent corrupted transmission of error message"
    << "on the previous message!"
    << "Total length was" << diff << "nbytes transmitted was" << nbytes
    << endmsg;
  }

  // End the message, before we swap back the context and process.
  // (This is what makes the endmsg in errlog(nbytes, data) << endmsg
  // superfluous.)

  errlog << endmsg;

  // Reset the context supplier and process to the remembered value.

  logger->swapContextSupplier(oldCS);
  logger->swapProcess(oldProcess);

} // ELrecv()
template<class T >
void edm::service::ELtsItem ( ELtsErrorLog &  e,
const T t 
) [inline]
void edm::service::ELtsItem ( ELtsErrorLog &  e,
long  n 
) [inline]
void edm::service::ELtsItem ( ELtsErrorLog &  e,
unsigned long  n 
) [inline]
void edm::service::ELtsItem ( ELtsErrorLog &  e,
const char  s[] 
) [inline]
void edm::service::ELtsItem ( ELtsErrorLog &  e,
short  n 
) [inline]
void edm::service::ELtsItem ( ELtsErrorLog &  e,
unsigned short  n 
) [inline]
void edm::service::ELtsItem ( ELtsErrorLog &  e,
int  n 
) [inline]
void edm::service::ELtsItem ( ELtsErrorLog &  e,
unsigned int  n 
) [inline]
void edm::service::endmsg ( ErrorLog &  log)

Definition at line 357 of file ErrorLog.cc.

References edm::service::ErrorLog::endmsg().

Referenced by ELrecv().

{ log.endmsg(); }
static ELstring edm::service::formatTime ( const time_t  t) [static]

Definition at line 101 of file ELoutput.cc.

References b, and query::result.

Referenced by edm::service::ELoutput::changeFile(), edm::service::ELoutput::ELoutput(), and edm::service::ELoutput::log().

                                              { // Change log 7

  static char const dummy[] = "dd-Mon-yyyy hh:mm:ss TZN     "; // Change log 7 for length only
  char ts[sizeof(dummy)]; // Change log 7

  struct tm timebuf; // Change log 7

  strftime( ts, sizeof(dummy), "%d-%b-%Y %H:%M:%S %Z", localtime_r(&t, &timebuf) ); // Change log 7
                // mf 4-9-04

#ifdef STRIP_TRAILING_BLANKS_IN_TIMEZONE
  // strip trailing blanks that would come when the time zone is not as
  // long as the maximum allowed - probably not worth the time 
  unsigned int b = strlen(ts);
  while (ts[--b] == ' ') {ts[b] = 0;}
#endif 

  ELstring result(ts); // Change log 7
  return result; // Change log 7
}  // formatTime()
static double edm::service::getCPU ( ) [static]

Definition at line 70 of file Timing.cc.

Referenced by edm::service::Timing::postBeginJob(), edm::service::Timing::postEndJob(), edm::service::Timing::postEventProcessing(), and edm::service::Timing::preEventProcessing().

                           {
        struct rusage usage;
        getrusage(RUSAGE_SELF, &usage);

        double totalCPUTime = 0.0;
        // User code
        totalCPUTime = (double)usage.ru_utime.tv_sec + (double(usage.ru_utime.tv_usec) * 1E-6);
        // System functions
        totalCPUTime += (double)usage.ru_stime.tv_sec + (double(usage.ru_stime.tv_usec) * 1E-6);
        return totalCPUTime;
    }
static double edm::service::getTime ( ) [static]

Definition at line 28 of file PathTimerService.cc.

References Exception.

Referenced by EcalLaserAnalyzer2::endJob(), EcalLaserAnalyzer::endJob(), EcalPerEvtLaserAnalyzer::endJob(), edm::service::PathTimerService::postBeginJob(), edm::service::Timing::postBeginJob(), edm::service::Timing::postEndJob(), edm::service::Timing::postEventProcessing(), edm::service::Timing::postModule(), edm::service::PathTimerService::preEventProcessing(), edm::service::Timing::preEventProcessing(), edm::service::Timing::preModule(), pos::PixelNameTranslation::writeXML(), pos::PixelDetectorConfig::writeXML(), pos::PixelFEDCard::writeXML(), pos::PixelPortcardMap::writeXMLHeader(), pos::PixelMaskAllPixels::writeXMLHeader(), pos::PixelLTCConfig::writeXMLHeader(), pos::PixelTBMSettings::writeXMLHeader(), pos::PixelTrimAllPixels::writeXMLHeader(), pos::PixelLowVoltageMap::writeXMLHeader(), pos::PixelDelay25Calib::writeXMLHeader(), pos::PixelDACSettings::writeXMLHeader(), pos::PixelTKFECConfig::writeXMLHeader(), pos::PixelMaxVsf::writeXMLHeader(), pos::PixelTTCciConfig::writeXMLHeader(), pos::PixelDetectorConfig::writeXMLHeader(), pos::PixelFEDCard::writeXMLHeader(), pos::PixelFECConfig::writeXMLHeader(), pos::PixelCalibConfiguration::writeXMLHeader(), pos::PixelFEDTestDAC::writeXMLHeader(), pos::PixelNameTranslation::writeXMLHeader(), pos::PixelFEDConfig::writeXMLHeader(), pos::PixelPortCardConfig::writeXMLHeader(), and pos::PixelGlobalDelay25::writeXMLHeader().

                                 {
            struct timeval t;
            if(gettimeofday(&t,0)<0)
                throw cms::Exception("SysCallFailed","Failed call to gettimeofday");
      
            return (double)t.tv_sec + (double(t.tv_usec) * 1E-6);
        }
static std::string edm::service::i2str ( int  i) [static]

Definition at line 64 of file Memory.cc.

References i, and matplotRender::t.

Referenced by edm::service::SimpleMemoryCheck::eventStatOutput(), edm::service::CPU::postEndJob(), and edm::service::SimpleMemoryCheck::postEndJob().

                                  {
      std::ostringstream t;
      t << i;
      return t.str();
    }
bool edm::service::isProcessWideService ( TFileAdaptor const *  ) [inline]

Definition at line 48 of file TFileAdaptor.h.

                                                   {
      return true;
    }
bool edm::service::isProcessWideService ( SiteLocalConfigService const *  ) [inline]

Definition at line 71 of file SiteLocalConfigService.h.

                                                                  {
           return true;
         }
bool edm::service::isProcessWideService ( JobReportService const *  ) [inline]

Definition at line 55 of file JobReportService.h.

                                                       {
      return true;
    }
bool edm::service::isProcessWideService ( MessageLogger const *  ) [inline]

Definition at line 152 of file MessageLogger.h.

Referenced by edm::serviceregistry::ServiceMaker< T, TMaker >::processWideService().

                                                  {
    return true;
  }
bool edm::service::isProcessWideService ( InitRootHandlers const *  ) [inline]

Definition at line 29 of file InitRootHandlers.h.

                                                       {
      return true;
    }
bool edm::service::isProcessWideService ( void const *  ) [inline]

Definition at line 30 of file ServiceMakerBase.h.

                                                      {
        return false;
      }
bool edm::service::isProcessWideService ( CPU const *  ) [inline]

Definition at line 37 of file CPU.h.

                                          {
      return true;
    }
static void edm::service::msgabort ( ) [inline, static]

Definition at line 288 of file ELadministrator.cc.

References edm::errors::LogicError.

Referenced by edm::service::ELtsErrorLog::dispatch(), possiblyAbOrEx(), and possiblyAbortOrExit().

                              {
  std::ostringstream os;
  os << "msgabort - MessageLogger requested to abort";
  edm::Exception e(edm::errors::LogicError, os.str());
  throw e;
}
static void edm::service::msgexit ( int  s) [inline, static]

Definition at line 281 of file ELadministrator.cc.

References edm::errors::LogicError, and asciidump::s.

Referenced by possiblyAbOrEx(), and possiblyAbortOrExit().

                                  {
  std::ostringstream os;
  os << "msgexit - MessageLogger requested to exit with status " << s;
  edm::Exception e(edm::errors::LogicError, os.str());
  throw e;
}
ErrorLog & edm::service::operator<< ( ErrorLog &  e,
const char  s[] 
)

Definition at line 461 of file ErrorLog.cc.

References edm::service::ErrorLog::discarding, and edm::service::ErrorLog::emitToken().

                                                      {
  // Exactly equivalent to the general template.
  // If this is not provided explicitly, then the template will
  // be instantiated once for each length of string ever used.
  if (e.discarding) return e;
  std::ostringstream  ost;
  ost << s << ' ';
  return  e.emitToken( ost.str() );
}
std::ostream & edm::service::operator<< ( std::ostream &  os,
SimpleMemoryCheck::SignificantEvent const &  se 
)
ErrorLog & edm::service::operator<< ( ErrorLog &  e,
long  n 
)

Definition at line 393 of file ErrorLog.cc.

References edm::service::ErrorLog::discarding, edm::service::ErrorLog::emitToken(), edm::service::ErrorLog::hexTrigger, dttmaxenums::L, m, n, edm::service::ErrorLog::spaceAfterInt, and tablePrinter::width.

                                              {
  if (e.discarding) return e;
  std::ostringstream  ost;
  ost << n;
  long m = (n<0) ? -n : n;
  if ( (e.hexTrigger >= 0) && (m >= e.hexTrigger) ) {
    int width = 8;
    if ( static_cast<unsigned long>(n) > 0xFFFFFFFFL ) width = 16;
    ost << "[0x"
        << std::hex << std::setw(width) << std::setfill('0')
        << n << "] ";
  } else {
    if (e.spaceAfterInt) ost << " ";                    // $$mf 3/17/04
  }
  return  e.emitToken( ost.str() );
}
ErrorLog & edm::service::operator<< ( ErrorLog &  e,
int  n 
)

Definition at line 363 of file ErrorLog.cc.

References edm::service::ErrorLog::discarding, edm::service::ErrorLog::emitToken(), edm::service::ErrorLog::hexTrigger, m, n, and edm::service::ErrorLog::spaceAfterInt.

                                             {
  if (e.discarding) return e;
  std::ostringstream  ost;
  ost << n;
  int m = (n<0) ? -n : n;
  if ( (e.hexTrigger >= 0) && (m >= e.hexTrigger) ) {
    ost << " [0x"
        << std::hex << std::setw(8) << std::setfill('0')
        << n << "] ";
  } else {
    if (e.spaceAfterInt) ost << " ";                    // $$mf 3/17/04
  }
  return e.emitToken( ost.str() );
}
ErrorLog & edm::service::operator<< ( ErrorLog &  e,
unsigned int  n 
)

Definition at line 378 of file ErrorLog.cc.

References edm::service::ErrorLog::discarding, edm::service::ErrorLog::emitToken(), edm::service::ErrorLog::hexTrigger, n, and edm::service::ErrorLog::spaceAfterInt.

                                                      {
  if (e.discarding) return e;
  std::ostringstream  ost;
  ost << n;
  if ( (e.hexTrigger >= 0) &&
       (n >= static_cast<unsigned int>(e.hexTrigger)) ) {
    ost << "[0x"
        << std::hex << std::setw(8) << std::setfill('0')
        << n << "] ";
  } else {
    if (e.spaceAfterInt) ost << " ";                    // $$mf 3/17/04
  }
  return e.emitToken( ost.str() );
}
template<class Mutex , class T >
ThreadSafeErrorLog<Mutex>& edm::service::operator<< ( ThreadSafeErrorLog< Mutex > &  e,
const T t 
) [inline]
template<class T >
ErrorLog& edm::service::operator<< ( ErrorLog &  e,
const T t 
) [inline]
ErrorLog & edm::service::operator<< ( ErrorLog &  e,
unsigned short  n 
)

Definition at line 442 of file ErrorLog.cc.

References edm::service::ErrorLog::discarding, edm::service::ErrorLog::emitToken(), edm::service::ErrorLog::hexTrigger, n, and edm::service::ErrorLog::spaceAfterInt.

                                                        {
  if (e.discarding) return e;
  std::ostringstream  ost;
  ost << n;
  if ( (e.hexTrigger >= 0) && (n >= e.hexTrigger) ) {
    ost << "[0x"
        << std::hex << std::setw(4) << std::setfill('0')
        << n << "] ";
  } else {
    if (e.spaceAfterInt) ost << " ";                    // $$mf 3/17/04
  }
  return  e.emitToken( ost.str() );
}
ErrorLog & edm::service::operator<< ( ErrorLog &  e,
unsigned long  n 
)

Definition at line 410 of file ErrorLog.cc.

References edm::service::ErrorLog::discarding, edm::service::ErrorLog::emitToken(), edm::service::ErrorLog::hexTrigger, n, edm::service::ErrorLog::spaceAfterInt, and tablePrinter::width.

                                                       {
  if (e.discarding) return e;
  std::ostringstream  ost;
  ost << n;
  if ( (e.hexTrigger >= 0) &&
       (n >= static_cast<unsigned long>(e.hexTrigger)) ) {
    int width = 8;
    if ( n > 0xFFFFFFFFL ) width = 16;
    ost << "[0x"
        << std::hex << std::setw(width) << std::setfill('0')
        << n << "] ";
  } else {
    if (e.spaceAfterInt) ost << " ";                    // $$mf 3/17/04
  }
  return  e.emitToken( ost.str() );
}
std::ostream & edm::service::operator<< ( std::ostream &  os,
SimpleMemoryCheck::SignificantModule const &  sm 
)

Definition at line 851 of file Memory.cc.

References edm::service::SimpleMemoryCheck::SignificantModule::eventMaxDeltaV, edm::service::SimpleMemoryCheck::SignificantModule::maxDeltaVsize, edm::service::SimpleMemoryCheck::SignificantModule::maxEarlyVsize, edm::service::SimpleMemoryCheck::SignificantModule::postEarlyCount, edm::service::SimpleMemoryCheck::SignificantModule::totalDeltaVsize, and edm::service::SimpleMemoryCheck::SignificantModule::totalEarlyVsize.

                                                              {
      if(sm.postEarlyCount > 0) {
        os << "\nPost Early Events:  TotalDeltaVsize: " << sm.totalDeltaVsize
        << " (avg: " << sm.totalDeltaVsize/sm.postEarlyCount
        << "; max: " << sm.maxDeltaVsize
        << " during " << sm.eventMaxDeltaV << ")";
      }
      if(sm.totalEarlyVsize > 0) {
        os << "\n     Early Events:  TotalDeltaVsize: " << sm.totalEarlyVsize
        << " (max: " << sm.maxEarlyVsize << ")";
      }

      return os;
    }
template<class Mutex >
ThreadSafeErrorLog<Mutex>& edm::service::operator<< ( ThreadSafeErrorLog< Mutex > &  e,
void(*)(ErrorLog &)  f 
) [inline]
ErrorLog & edm::service::operator<< ( ErrorLog &  e,
short  n 
)

Definition at line 427 of file ErrorLog.cc.

References edm::service::ErrorLog::discarding, edm::service::ErrorLog::emitToken(), edm::service::ErrorLog::hexTrigger, m, n, and edm::service::ErrorLog::spaceAfterInt.

                                               {
  if (e.discarding) return e;
  std::ostringstream  ost;
  ost << n;
  short m = (n<0) ? -n : n;
  if ( (e.hexTrigger >= 0) && (m >= e.hexTrigger) ) {
    ost << "[0x"
        << std::hex << std::setw(4) << std::setfill('0')
        << n << "] ";
  } else {
    if (e.spaceAfterInt) ost << " ";                    // $$mf 3/17/04
  }
  return  e.emitToken( ost.str() );
}
static void edm::service::possiblyAbOrEx ( int  s,
int  a,
int  e 
) [inline, static]

Definition at line 169 of file ErrorLog.cc.

References msgabort(), and msgexit().

Referenced by edm::service::ErrorLog::operator()().

                                                        {
  if (s < a && s < e) return;
  if (a < e) {
    if ( s < e ) msgabort();
    msgexit(s);
  } else {
    if ( s < a ) msgexit(s);
    msgabort();
  }
}
static void edm::service::possiblyAbortOrExit ( int  s,
int  a,
int  e 
) [inline, static]

Definition at line 295 of file ELadministrator.cc.

References msgabort(), and msgexit().

Referenced by edm::service::ELadministrator::finishMsg().

                                                             {
  if (s < a && s < e) return;
  if (a < e) {
    if ( s < e ) msgabort();
    msgexit(s);
  } else {
    if ( s < a ) msgexit(s);
    msgabort();
  }
}

Variable Documentation

Definition at line 473 of file ELadministrator.cc.

ELstring edm::service::hereMsg = "available via this destination" [static]
ELstring edm::service::noClearSummaryMsg = "No clearSummary()" [static]

Definition at line 93 of file ELdestination.cc.

Referenced by edm::service::ELdestination::clearSummary().

ELstring edm::service::noosMsg = "No ostream" [static]
ELstring edm::service::noSummarizationMsg = "No summarization()" [static]

Definition at line 91 of file ELdestination.cc.

Referenced by edm::service::ELdestination::summarization().

ELstring edm::service::noSummaryMsg = "No summary()" [static]

Definition at line 92 of file ELdestination.cc.

Referenced by edm::service::ELdestination::summary().

ELstring edm::service::notELoutputMsg = "This destination is not an ELoutput" [static]

Definition at line 96 of file ELdestination.cc.

Referenced by edm::service::ELdestination::changeFile().