forked from eden-emu/eden
		
	thread: exposed ResumeThreadFromWait function for use in other kernel modules
This commit is contained in:
		
							parent
							
								
									75c6d2a8fa
								
							
						
					
					
						commit
						bed4e920fa
					
				
					 2 changed files with 11 additions and 8 deletions
				
			
		|  | @ -200,8 +200,15 @@ Thread* __NextThread() { | |||
|     return Kernel::g_object_pool.GetFast<Thread>(next); | ||||
| } | ||||
| 
 | ||||
| /// Puts a thread in the wait state for the given type/reason
 | ||||
| void __WaitCurThread(WaitType wait_type, const char* reason) { | ||||
|     Thread* t = __GetCurrentThread(); | ||||
|     t->wait_type = wait_type; | ||||
|     __ChangeThreadState(t, ThreadStatus(THREADSTATUS_WAIT | (t->status & THREADSTATUS_SUSPEND))); | ||||
| } | ||||
| 
 | ||||
| /// Resumes a thread from waiting by marking it as "ready"
 | ||||
| void __ResumeThreadFromWait(Handle handle) { | ||||
| void ResumeThreadFromWait(Handle handle) { | ||||
|     u32 error; | ||||
|     Thread* t = Kernel::g_object_pool.Get<Thread>(handle, error); | ||||
|     if (t) { | ||||
|  | @ -212,13 +219,6 @@ void __ResumeThreadFromWait(Handle handle) { | |||
|     } | ||||
| } | ||||
| 
 | ||||
| /// Puts a thread in the wait state for the given type/reason
 | ||||
| void __WaitCurThread(WaitType wait_type, const char* reason) { | ||||
|     Thread* t = __GetCurrentThread(); | ||||
|     t->wait_type = wait_type; | ||||
|     __ChangeThreadState(t, ThreadStatus(THREADSTATUS_WAIT | (t->status & THREADSTATUS_SUSPEND))); | ||||
| } | ||||
| 
 | ||||
| /// Creates a new thread
 | ||||
| Thread* CreateThread(Handle& handle, const char* name, u32 entry_point, s32 priority, | ||||
|     s32 processor_id, u32 stack_top, int stack_size) { | ||||
|  |  | |||
|  | @ -31,6 +31,9 @@ Handle SetupMainThread(s32 priority, int stack_size=Kernel::DEFAULT_STACK_SIZE); | |||
| /// Reschedules to the next available thread (call after current thread is suspended)
 | ||||
| void Reschedule(const char* reason); | ||||
| 
 | ||||
| /// Resumes a thread from waiting by marking it as "ready"
 | ||||
| void ResumeThreadFromWait(Handle handle); | ||||
| 
 | ||||
| /// Gets the current thread
 | ||||
| Handle GetCurrentThread(); | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 bunnei
						bunnei