summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ndb/src/kernel/vm/RequestTracker.hpp4
-rw-r--r--ndb/src/kernel/vm/SafeCounter.hpp22
2 files changed, 16 insertions, 10 deletions
diff --git a/ndb/src/kernel/vm/RequestTracker.hpp b/ndb/src/kernel/vm/RequestTracker.hpp
index 5fd1ae7255a..ac9ed85ae4b 100644
--- a/ndb/src/kernel/vm/RequestTracker.hpp
+++ b/ndb/src/kernel/vm/RequestTracker.hpp
@@ -26,12 +26,12 @@ public:
void init() { m_confs.clear(); m_nRefs = 0; }
template<typename SignalClass>
- void init(SafeCounterManager& mgr,
+ bool init(SafeCounterManager& mgr,
NodeReceiverGroup rg, Uint16 GSN, Uint32 senderData)
{
init();
SafeCounter tmp(mgr, m_sc);
- tmp.init<SignalClass>(rg, GSN, senderData);
+ return tmp.init<SignalClass>(rg, GSN, senderData);
}
bool ignoreRef(SafeCounterManager& mgr, Uint32 nodeId)
diff --git a/ndb/src/kernel/vm/SafeCounter.hpp b/ndb/src/kernel/vm/SafeCounter.hpp
index 1f3cc15c2d6..869a7ef671f 100644
--- a/ndb/src/kernel/vm/SafeCounter.hpp
+++ b/ndb/src/kernel/vm/SafeCounter.hpp
@@ -230,10 +230,13 @@ inline
bool
SafeCounter::init(NodeReceiverGroup rg, Uint16 GSN, Uint32 senderData){
- bool b = init<Ref>(rg.m_block, GSN, senderData);
- m_nodes = rg.m_nodes;
- m_count = m_nodes.count();
- return b;
+ if (init<Ref>(rg.m_block, GSN, senderData))
+ {
+ m_nodes = rg.m_nodes;
+ m_count = m_nodes.count();
+ return true;
+ }
+ return false;
}
template<typename Ref>
@@ -241,10 +244,13 @@ inline
bool
SafeCounter::init(NodeReceiverGroup rg, Uint32 senderData){
- bool b = init<Ref>(rg.m_block, Ref::GSN, senderData);
- m_nodes = rg.m_nodes;
- m_count = m_nodes.count();
- return b;
+ if (init<Ref>(rg.m_block, Ref::GSN, senderData))
+ {
+ m_nodes = rg.m_nodes;
+ m_count = m_nodes.count();
+ return true;
+ }
+ return false;
}
inline