void PCCoreStop(struct ST_ProtocolEngine* pProtocolEngine) { pProtocolEngine->pPCCore->coreStatus = eIMnetCoreStop; #ifdef AMOS_DEBUG AMPrintf("noble:PCCoreStop <<<<< reader\n"); #endif //close looper. LoopStop(pProtocolEngine->pPCCore->pReaderQueue, &pProtocolEngine->pPCCore->pReaderLooper->semaphore); #ifdef AMOS_DEBUG AMPrintf("noble:PCCoreStop <<<<< sender\n"); #endif LoopStop(pProtocolEngine->pPCCore->pSenderQueue, &pProtocolEngine->pPCCore->pSenderLooper->semaphore); #ifdef AMOS_DEBUG AMPrintf("noble:PCCoreStop <<<<< callback\n"); #endif LoopStop(pProtocolEngine->pPCCore->pCallbackQueue, &pProtocolEngine->pPCCore->pCallbackLooper->semaphore); #ifdef AMOS_DEBUG AMPrintf("noble:PCCoreStop <<<<< quit\n"); #endif }
void *SendMessageThread(void *args) { struct Handler *handler = (struct Handler *)args; struct Message *m = ObtainMessage(handler); m->what = 0x01; SendMessage(handler, m); sleep(1); LoopStop(handler->loop); }
bool CLxItemSelection::LoopNext ( CLxUser_Item &item) { if (tmp_idx < tmp_list.size ()) return item.set (tmp_list[tmp_idx++]); LoopStop (); return false; }
void *CollectThread(void *args) { struct Handler *handler = (struct Handler *)args; int i = 0; for (i = 0; i < THREAD_NUM; i ++) { pthread_join(t[i], NULL); } EndTime(); PassTime(); LoopStop(handler->loop); }
void *SingleHandlerSub(void *args) { struct TestObj *obj = (struct TestObj *)args; struct Handler *handler = obj->handler; int i = 0; StartTime(); for (i = 0; i < 0xFFFFF; i ++) { struct Message *m = ObtainMessage(handler); m->what = i; m->obj = (void *)obj->context; SendMessage(handler, m); } LoopStop(handler->loop); }