X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Fmessages.c;h=93cf6ca4065560f7316decd5f0fa9165e0a605dc;hb=71d97264ff059a530d86584f690a43831468dc69;hp=31ae8f3731063128d48f2c3684d07708b875271d;hpb=8bc40333b1401d7616b225945fee53d972c2f418;p=tpg%2Facess2.git diff --git a/Kernel/messages.c b/Kernel/messages.c index 31ae8f37..93cf6ca4 100644 --- a/Kernel/messages.c +++ b/Kernel/messages.c @@ -26,7 +26,7 @@ int Proc_SendMessage(Uint *Err, Uint Dest, int Length, void *Data) } // Get thread - thread = Proc_GetThread( Dest ); + thread = Threads_GetThread( Dest ); // Error check if(!thread) { return -1; } @@ -40,7 +40,7 @@ int Proc_SendMessage(Uint *Err, Uint Dest, int Length, void *Data) // Create message msg = malloc( sizeof(tMsg)+Length ); msg->Next = NULL; - msg->Source = gCurrentThread->TID; + msg->Source = Proc_GetCurThread()->TID; msg->Length = Length; memcpy(msg->Data, Data, Length); @@ -55,7 +55,7 @@ int Proc_SendMessage(Uint *Err, Uint Dest, int Length, void *Data) RELEASE(&thread->IsLocked); - Thread_Wake( thread ); + Threads_Wake( thread ); return 0; } @@ -68,35 +68,36 @@ int Proc_GetMessage(Uint *Err, Uint *Source, void *Buffer) { int ret; void *tmp; + tThread *cur = Proc_GetCurThread(); // Check if queue has any items - if(!gCurrentThread->Messages) { + if(!cur->Messages) { return 0; } - LOCK( &gCurrentThread->IsLocked ); + LOCK( &cur->IsLocked ); if(Source) - *Source = gCurrentThread->Messages->Source; + *Source = cur->Messages->Source; // Get message length if( !Buffer ) { - ret = gCurrentThread->Messages->Length; - RELEASE( &gCurrentThread->IsLocked ); + ret = cur->Messages->Length; + RELEASE( &cur->IsLocked ); return ret; } // Get message if(Buffer != GETMSG_IGNORE) - memcpy(Buffer, gCurrentThread->Messages->Data, gCurrentThread->Messages->Length); - ret = gCurrentThread->Messages->Length; + memcpy(Buffer, cur->Messages->Data, cur->Messages->Length); + ret = cur->Messages->Length; // Remove from list - tmp = gCurrentThread->Messages->Next; - free(gCurrentThread->Messages); - gCurrentThread->Messages = tmp; + tmp = cur->Messages->Next; + free(cur->Messages); + cur->Messages = tmp; - RELEASE( &gCurrentThread->IsLocked ); + RELEASE( &cur->IsLocked ); return ret; }