32
#define NUX_ATOMOP_ITERLOCKED_INCREMENT InterlockedIncrement64
33
#define NUX_ATOMOP_ITERLOCKED_DECREMENT InterlockedDecrement64
34
#define NUX_ATOMOP_ITERLOCKED_EXCHANGED InterlockedExchange64
35
#define NUX_ATOMOP_ITERLOCKED_VALUE
37
31
#define NUX_ATOMOP_ITERLOCKED_INCREMENT InterlockedIncrement
38
32
#define NUX_ATOMOP_ITERLOCKED_DECREMENT InterlockedDecrement
39
33
#define NUX_ATOMOP_ITERLOCKED_EXCHANGED InterlockedExchange
40
34
#define NUX_ATOMOP_ITERLOCKED_VALUE
43
t_integer NThreadSafeCounter::Increment()
36
long NThreadSafeCounter::Increment()
45
38
return NUX_ATOMOP_ITERLOCKED_INCREMENT ( &m_Counter );
47
t_integer NThreadSafeCounter::Decrement()
40
long NThreadSafeCounter::Decrement()
49
42
return NUX_ATOMOP_ITERLOCKED_DECREMENT ( &m_Counter );
51
t_integer NThreadSafeCounter::Set (t_integer i)
44
long NThreadSafeCounter::Set (long i)
53
46
return NUX_ATOMOP_ITERLOCKED_EXCHANGED ( &m_Counter, i );
56
t_integer NThreadSafeCounter::GetValue() const
49
long NThreadSafeCounter::GetValue() const
61
t_integer NThreadSafeCounter::operator ++ ()
54
long NThreadSafeCounter::operator ++ ()
63
56
return Increment();
66
t_integer NThreadSafeCounter::operator -- ()
59
long NThreadSafeCounter::operator -- ()
68
61
return Decrement();
71
t_bool NThreadSafeCounter::operator == (t_integer i)
64
bool NThreadSafeCounter::operator == (long i)
73
66
return (m_Counter == i);
76
t_u32 NThreadLocalStorage::m_TLSIndex[NThreadLocalStorage::NbTLS];
69
unsigned int NThreadLocalStorage::m_TLSIndex[NThreadLocalStorage::NbTLS];
77
70
BOOL NThreadLocalStorage::m_TLSUsed[NThreadLocalStorage::NbTLS];
78
71
NThreadLocalStorage::TLS_ShutdownCallback NThreadLocalStorage::m_TLSCallbacks[NThreadLocalStorage::NbTLS];
112
BOOL NThreadLocalStorage::RegisterTLS (t_u32 index, NThreadLocalStorage::TLS_ShutdownCallback shutdownCallback)
105
BOOL NThreadLocalStorage::RegisterTLS (unsigned int index, NThreadLocalStorage::TLS_ShutdownCallback shutdownCallback)
114
107
nuxAssert (!m_TLSUsed[index]);
137
130
Memset (m_TLSUsed, 0, sizeof (m_TLSUsed) );
139
for (t_u32 i = 0; i < NThreadLocalStorage::NbTLS; i++)
132
for (unsigned int i = 0; i < NThreadLocalStorage::NbTLS; i++)
141
134
// Fill the array with invalid values
142
135
m_TLSIndex[i] = NThreadLocalStorage::InvalidTLS; // invalid index
233
226
if ( m_ThreadCtx.m_dwExitCode == STILL_ACTIVE && bForceKill )
235
TerminateThread (m_ThreadCtx.m_hThread, t_u32 (-1) );
228
TerminateThread (m_ThreadCtx.m_hThread, unsigned int (-1) );
236
229
CloseHandle (m_ThreadCtx.m_hThread);
363
t_u32 NThread::GetExitCode() const
356
unsigned int NThread::GetExitCode() const
365
358
if ( m_ThreadCtx.m_hThread )
366
359
GetExitCodeThread (m_ThreadCtx.m_hThread, (LPDWORD) &m_ThreadCtx.m_dwExitCode);
373
366
return m_ThreadCtx.m_hThread;
376
t_u32 NThread::GetThreadId()
369
unsigned int NThread::GetThreadId()
378
return (t_u32) m_ThreadCtx.m_dwTID;
371
return (unsigned int) m_ThreadCtx.m_dwTID;
381
374
ThreadState NThread::GetThreadState() const