Browse Source

BUG#25743 If undo_buffer_size (for LG) greater than the inital shared memory (default 20M), ndbd nodes are crashed

storage/ndb/src/kernel/vm/Pool.hpp:
  Only when m_pool.seize() return true, the ptr.i and ptr.p is assigned the ri
  ght value, or else the parameter ptr should be "not touched"
pull/374/head
unknown 19 years ago
parent
commit
b76fb8f72e
  1. 7
      storage/ndb/src/kernel/vm/Pool.hpp

7
storage/ndb/src/kernel/vm/Pool.hpp

@ -307,8 +307,11 @@ RecordPool<T, P>::seize(Ptr<T> & ptr)
{
Ptr<void> tmp;
bool ret = m_pool.seize(tmp);
ptr.i = tmp.i;
ptr.p = static_cast<T*>(tmp.p);
if(likely(ret))
{
ptr.i = tmp.i;
ptr.p = static_cast<T*>(tmp.p);
}
return ret;
}

Loading…
Cancel
Save