Lines Matching refs:MicroThread
203 MicroThread::MicroThread(ThreadType type) in MicroThread() function in MicroThread
216 void MicroThread::CleanState() in CleanState()
228 void MicroThread::Run() in Run()
242 void MicroThread::WakeupParent() in WakeupParent()
244 MicroThread* parent = this->GetParent(); in WakeupParent()
259 bool MicroThread::HasNoSubThread() in HasNoSubThread()
264 void MicroThread::AddSubThread(MicroThread* sub) in AddSubThread()
266 ASSERT(!sub->HasFlag(MicroThread::SUB_LIST)); in AddSubThread()
267 if (!sub->HasFlag(MicroThread::SUB_LIST)) in AddSubThread()
273 sub->SetFlag(MicroThread::SUB_LIST); in AddSubThread()
276 void MicroThread::RemoveSubThread(MicroThread* sub) in RemoveSubThread()
278 ASSERT(sub->HasFlag(MicroThread::SUB_LIST)); in RemoveSubThread()
279 if (sub->HasFlag(MicroThread::SUB_LIST)) in RemoveSubThread()
285 sub->UnsetFlag(MicroThread::SUB_LIST); in RemoveSubThread()
322 MicroThread* thread = frame->GetActiveThread(); in ScheduleSleep()
335 MicroThread* thread = frame->GetActiveThread(); in SchedulePend()
348 MicroThread* thread = (MicroThread*)pthread; in ScheduleUnpend()
361 MicroThread* thread = frame->GetActiveThread(); in ScheduleReclaim()
373 MicroThread* thread = frame->GetActiveThread(); in ScheduleStartRun()
389 MicroThread *thread = NULL; in InitialPool()
392 thread = new MicroThread(); in InitialPool()
399 thread->SetFlag(MicroThread::FREE_LIST); in InitialPool()
418 MicroThread* thread = NULL; in DestroyPool()
431 MicroThread* ThreadPool::AllocThread() in AllocThread()
435 MicroThread* thread = NULL; in AllocThread()
441 ASSERT(thread->HasFlag(MicroThread::FREE_LIST)); in AllocThread()
443 thread->UnsetFlag(MicroThread::FREE_LIST); in AllocThread()
456 thread = new MicroThread(); in AllocThread()
476 void ThreadPool::FreeThread(MicroThread* thread) in FreeThread()
478 ASSERT(!thread->HasFlag(MicroThread::FREE_LIST)); in FreeThread()
482 thread->SetFlag(MicroThread::FREE_LIST); in FreeThread()
555 _daemon->SetType(MicroThread::DAEMON); in InitFrame()
556 _daemon->SetState(MicroThread::RUNABLE); in InitFrame()
559 _primo = new MicroThread(MicroThread::PRIMORDIAL); in InitFrame()
566 _primo->SetState(MicroThread::RUNNING); in InitFrame()
598 MicroThread* thread = dynamic_cast<MicroThread*>(_sleeplist.HeapPop()); in Destroy()
602 thread = dynamic_cast<MicroThread*>(_sleeplist.HeapPop()); in Destroy()
612 MicroThread* tmp; in Destroy()
636 MicroThread* MtFrame::CreateThread(ThreadStart entry, void *args, bool runable) in CreateThread()
639 MicroThread* thread = mtframe->AllocThread(); in CreateThread()
657 MicroThread* daemon = mtframe->DaemonThread(); in Loop()
685 MicroThread *MtFrame::GetRootThread() in GetRootThread()
692 MicroThread::ThreadType type = _curr_thread->GetType(); in GetRootThread()
693 MicroThread *thread = _curr_thread; in GetRootThread()
694 MicroThread *parent = thread; in GetRootThread()
696 while (MicroThread::SUB_THREAD == type) in GetRootThread()
713 MicroThread* thread = NULL; in ThreadSchdule()
727 thread->SetState(MicroThread::RUNNING); in ThreadSchdule()
752 MicroThread* thread = dynamic_cast<MicroThread*>(_sleeplist.HeapTop()); in WakeupTimeout()
755 if (thread->HasFlag(MicroThread::IO_LIST)) in WakeupTimeout()
766 thread = dynamic_cast<MicroThread*>(_sleeplist.HeapTop()); in WakeupTimeout()
773 MicroThread* thread = dynamic_cast<MicroThread*>(_sleeplist.HeapTop()); in KqueueGetTimeout()
788 inline void MtFrame::InsertSleep(MicroThread* thread) in InsertSleep()
790 ASSERT(!thread->HasFlag(MicroThread::SLEEP_LIST)); in InsertSleep()
792 thread->SetFlag(MicroThread::SLEEP_LIST); in InsertSleep()
793 thread->SetState(MicroThread::SLEEPING); in InsertSleep()
802 inline void MtFrame::RemoveSleep(MicroThread* thread) in RemoveSleep()
804 ASSERT(thread->HasFlag(MicroThread::SLEEP_LIST)); in RemoveSleep()
805 thread->UnsetFlag(MicroThread::SLEEP_LIST); in RemoveSleep()
815 inline void MtFrame::InsertIoWait(MicroThread* thread) in InsertIoWait()
817 ASSERT(!thread->HasFlag(MicroThread::IO_LIST)); in InsertIoWait()
818 thread->SetFlag(MicroThread::IO_LIST); in InsertIoWait()
823 void MtFrame::RemoveIoWait(MicroThread* thread) in RemoveIoWait()
825 ASSERT(thread->HasFlag(MicroThread::IO_LIST)); in RemoveIoWait()
826 thread->UnsetFlag(MicroThread::IO_LIST); in RemoveIoWait()
832 void MtFrame::InsertRunable(MicroThread* thread) in InsertRunable()
834 ASSERT(!thread->HasFlag(MicroThread::RUN_LIST)); in InsertRunable()
835 thread->SetFlag(MicroThread::RUN_LIST); in InsertRunable()
837 thread->SetState(MicroThread::RUNABLE); in InsertRunable()
842 inline void MtFrame::RemoveRunable(MicroThread* thread) in RemoveRunable()
844 ASSERT(thread->HasFlag(MicroThread::RUN_LIST)); in RemoveRunable()
846 thread->UnsetFlag(MicroThread::RUN_LIST); in RemoveRunable()
852 void MtFrame::InsertPend(MicroThread* thread) in InsertPend()
854 ASSERT(!thread->HasFlag(MicroThread::PEND_LIST)); in InsertPend()
855 thread->SetFlag(MicroThread::PEND_LIST); in InsertPend()
857 thread->SetState(MicroThread::PENDING); in InsertPend()
860 void MtFrame::RemovePend(MicroThread* thread) in RemovePend()
862 ASSERT(thread->HasFlag(MicroThread::PEND_LIST)); in RemovePend()
863 thread->UnsetFlag(MicroThread::PEND_LIST); in RemovePend()
869 MicroThread* thread = GetActiveThread(); in WaitNotify()
876 void MtFrame::NotifyThread(MicroThread* thread) in NotifyThread()
881 MicroThread* cur_thread = GetActiveThread(); in NotifyThread()
882 if (thread->HasFlag(MicroThread::IO_LIST)) in NotifyThread()
889 thread->SetState(MicroThread::RUNNING); in NotifyThread()
900 MicroThread* thread = GetActiveThread(); in SwapDaemonThread()
901 MicroThread* daemon_thread = this->DaemonThread(); in SwapDaemonThread()
906 daemon_thread->SetState(MicroThread::RUNNING); in SwapDaemonThread()
914 MicroThread* thread = GetActiveThread(); in KqueueSchedule()
965 MicroThread* thread = mtframe->GetActiveThread(); in recvfrom()
1025 MicroThread* thread = mtframe->GetActiveThread(); in sendto()
1071 MicroThread* thread = mtframe->GetActiveThread(); in connect()
1122 MicroThread* thread = mtframe->GetActiveThread(); in accept()
1168 MicroThread* thread = mtframe->GetActiveThread(); in read()
1214 MicroThread* thread = mtframe->GetActiveThread(); in write()
1272 MicroThread* thread = mtframe->GetActiveThread(); in recv()
1332 MicroThread* thread = mtframe->GetActiveThread(); in send()
1389 MicroThread* thread = frame->GetActiveThread(); in sleep()
1400 MicroThread* thread = mtframe->GetActiveThread(); in WaitEvents()