// === GLOBALS ===
tThread *gThreads_List;
tThread __thread *lpThreads_This;
+ int giThreads_NextTID = 1;
// === CODE ===
void Threads_int_Init(void)
Uint32 Threads_WaitEvents(Uint32 Events)
{
- if( Threads_int_ThreadingEnabled() ) {
+ if( !Threads_int_ThreadingEnabled() ) {
Log_Notice("Threads", "_WaitEvents: Threading disabled");
return 0;
}
void Threads_ClearEvent(Uint32 Mask)
{
- if( Threads_int_ThreadingEnabled() ) {
+ if( !Threads_int_ThreadingEnabled() ) {
Log_Notice("Threads", "_ClearEvent: Threading disabled");
return ;
}
tUID Threads_GetUID(void) { return 0; }
tGID Threads_GetGID(void) { return 0; }
-tTID Threads_GetTID(void) { return 0; }
+tTID Threads_GetTID(void) { return lpThreads_This->TID; }
int *Threads_GetMaxFD(void) { return &lpThreads_This->Process->MaxFDs; }
char **Threads_GetCWD(void) { return &lpThreads_This->Process->CWD; }
tThread *Threads_int_CreateTCB(tThread *Parent)
{
tThread *ret = calloc( sizeof(tThread), 1 );
+ ret->TID = giThreads_NextTID ++;
ret->WaitSemaphore = Threads_int_SemCreate();
ret->Protector = Threads_int_MutexCreate();