Пример #1
0
void
ErrorReporter::handleAssert(const char* message, const char* file, int line, int ec)
{
  char refMessage[100];
  Uint32 jamBlockNumber;

#ifdef NO_EMULATED_JAM
  BaseString::snprintf(refMessage, 100, "file: %s lineNo: %d",
	   file, line);
  jam = NULL;
  jamIndex = 0;
  jamBlockNumber = 0;
#else
  const EmulatedJamBuffer *jamBuffer =
    (EmulatedJamBuffer *)NdbThread_GetTlsKey(NDB_THREAD_TLS_JAM);
  jamBlockNumber = jamBuffer->theEmulatedJamBlockNumber;
  const char *blockName = getBlockName(jamBlockNumber);

  BaseString::snprintf(refMessage, 100, "%s line: %d (block: %s)",
	   file, line, blockName);
#endif
  NdbShutdownType nst = s_errorHandlerShutdownType;
  WriteMessage(ec, message, refMessage, nst);

  NdbShutdown(ec, nst);
  exit(1);                                      // Deadcode
}
static
ndb_mutex_thr_state*
get_thr()
{
  void * p = NdbThread_GetTlsKey(NDB_THREAD_TLS_SELF);
  return (ndb_mutex_thr_state*)p;
}
Пример #3
0
// Get the jam buffer for the current thread.
inline EmulatedJamBuffer* getThrJamBuf()
{
  return reinterpret_cast<EmulatedJamBuffer*>
    (NdbThread_GetTlsKey(NDB_THREAD_TLS_JAM));
}