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; }
// Get the jam buffer for the current thread. inline EmulatedJamBuffer* getThrJamBuf() { return reinterpret_cast<EmulatedJamBuffer*> (NdbThread_GetTlsKey(NDB_THREAD_TLS_JAM)); }