Commit 2920f929 authored by pekka@sama.ndb.mysql.com's avatar pekka@sama.ndb.mysql.com
Browse files

bug#34169 - fix pthread_t abuse

parent 256f6e31
Loading
Loading
Loading
Loading
+1 −5
Original line number Diff line number Diff line
@@ -1466,11 +1466,7 @@ Ndb::printState(const char* fmt, ...)
  NdbMutex_Lock(ndb_print_state_mutex);
  bool dups = false;
  unsigned i;
  ndbout << buf << " ndb=" << hex << this << dec;
#ifndef NDB_WIN32
  ndbout << " thread=" << (int)pthread_self();
#endif
  ndbout << endl;
  ndbout << buf << " ndb=" << hex << (void*)this << endl;
  for (unsigned n = 0; n < MAX_NDB_NODES; n++) {
    NdbTransaction* con = theConnectionArray[n];
    if (con != 0) {
+4 −5
Original line number Diff line number Diff line
@@ -4909,7 +4909,7 @@ struct Thr {
  enum State { Wait, Start, Stop, Exit };
  State m_state;
  Par m_par;
  Uint64 m_id;
  pthread_t m_id;
  NdbThread* m_thread;
  NdbMutex* m_mutex;
  NdbCondition* m_cond;
@@ -4945,7 +4945,6 @@ struct Thr {
Thr::Thr(Par par, uint n) :
  m_state(Wait),
  m_par(par),
  m_id(0),
  m_thread(0),
  m_mutex(0),
  m_cond(0),
@@ -4987,7 +4986,7 @@ static void*
runthread(void* arg)
{
  Thr& thr = *(Thr*)arg;
  thr.m_id = (Uint64)pthread_self();
  thr.m_id = pthread_self();
  if (thr.run() < 0) {
    LL1("exit on error");
  } else {
@@ -5069,11 +5068,11 @@ static Thr*
getthr()
{
  if (g_thrlist != 0) {
    Uint64 id = (Uint64)pthread_self();
    pthread_t id = pthread_self();
    for (uint n = 0; n < g_opt.m_threads; n++) {
      if (g_thrlist[n] != 0) {
        Thr& thr = *g_thrlist[n];
        if (thr.m_id == id)
        if (pthread_equal(thr.m_id, id))
          return &thr;
      }
    }