bug#34169 - fix pthread_t abuse

parent 256f6e31
......@@ -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) {
......
......@@ -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;
}
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment