21 #include <ndb_global.h>
22 #include <kernel_types.h>
24 #include "VMSignal.hpp"
26 #include <BlockNumbers.h>
27 #include <NodeState.hpp>
28 #include <NodeInfo.hpp>
29 #include "ArrayPool.hpp"
38 enum restartStates {initial_state,
49 Uint64 internalMillisecCounter;
50 Uint32 highestAvailablePrio;
55 Uint32 theNextTimerJob;
56 Uint32 theCurrentTimer;
57 Uint32 theShortTQIndex;
59 Uint32 theLongTQIndex;
61 Uint32 theFirstFreeTQIndex;
67 restartStates theRestartFlag;
70 Uint32 sendPackedActivated;
71 Uint32 activateSendPacked;
75 Uint32 ndbMtLqhWorkers;
76 Uint32 ndbMtLqhThreads;
81 theRestartFlag = perform_start;
90 ~
GlobalData() { m_global_page_pool.clear(); m_shared_page_pool.clear();}
96 return getBlock(blockToMain(fullBlockNo), blockToInstance(fullBlockNo));
98 SimulatedBlock * mt_getBlock(BlockNumber blockNo, Uint32 instanceNo);
100 void incrementWatchDogCounter(Uint32 place);
101 Uint32 * getWatchDogPtr();
110 #ifdef GCP_TIMER_HACK
121 Uint32 gcp_timer_limit;
127 #define GLOBAL_TEST_ON (localTestOn)
128 #define GET_GLOBAL_TEST_FLAG bool localTestOn = globalData.testOn
129 #define SET_GLOBAL_TEST_ON (globalData.testOn = true)
130 #define SET_GLOBAL_TEST_OFF (globalData.testOn = false)
131 #define TOGGLE_GLOBAL_TEST_FLAG (globalData.testOn = (globalData.testOn == true ? false : true))
136 blockNo -= MIN_BLOCK_NO;
137 assert((blockTable[blockNo] == 0) || (blockTable[blockNo] == block));
138 blockTable[blockNo] =
block;
143 GlobalData::getBlock(BlockNumber blockNo){
144 blockNo -= MIN_BLOCK_NO;
145 return blockTable[blockNo];
150 GlobalData::incrementWatchDogCounter(Uint32 place){
156 GlobalData::getWatchDogPtr(){