Lines Matching refs:timer

52 static void InsertTimerNode(EventLoop *loop, TimerNode *timer)  in InsertTimerNode()  argument
54 timer->endTime = GetCurrentTimespec(timer->timeout); in InsertTimerNode()
55 LoopMutexLock(&timer->mutex); in InsertTimerNode()
56 timer->flags &= ~TIMER_PROCESSING; in InsertTimerNode()
57 timer->repeat--; in InsertTimerNode()
58 OH_ListAddWithOrder(&loop->timerList, &timer->node, TimerNodeCompareProc); in InsertTimerNode()
60 LoopMutexUnlock(&timer->mutex); in InsertTimerNode()
70 TimerNode *timer = ListEntry(node, TimerNode, node); in CheckTimeoutOfTimer() local
71 if (timer->endTime > (currTime + faultTime)) { in CheckTimeoutOfTimer()
75 LoopMutexLock(&timer->mutex); in CheckTimeoutOfTimer()
76 OH_ListRemove(&timer->node); in CheckTimeoutOfTimer()
77 OH_ListInit(&timer->node); in CheckTimeoutOfTimer()
78 LoopMutexUnlock(&timer->mutex); in CheckTimeoutOfTimer()
80 OH_ListAddTail(&timeoutList, &timer->node); in CheckTimeoutOfTimer()
81 timer->flags |= TIMER_PROCESSING; in CheckTimeoutOfTimer()
88 TimerNode *timer = ListEntry(node, TimerNode, node); in CheckTimeoutOfTimer() local
90 OH_ListRemove(&timer->node); in CheckTimeoutOfTimer()
91 OH_ListInit(&timer->node); in CheckTimeoutOfTimer()
92 timer->process((TimerHandle)timer, timer->context); in CheckTimeoutOfTimer()
93 if ((timer->repeat == 0) || ((timer->flags & TIMER_CANCELED) == TIMER_CANCELED)) { in CheckTimeoutOfTimer()
94 free(timer); in CheckTimeoutOfTimer()
99 InsertTimerNode(loop, timer); in CheckTimeoutOfTimer()
106 TimerNode *timer = (TimerNode *)malloc(sizeof(TimerNode)); in CreateTimer() local
107 LE_CHECK(timer != NULL, return NULL, "Failed to create timer"); in CreateTimer()
108 OH_ListInit(&timer->node); in CreateTimer()
109 LoopMutexInit(&timer->mutex); in CreateTimer()
110 timer->timeout = 0; in CreateTimer()
111 timer->repeat = 1; in CreateTimer()
112 timer->flags = TASK_TIME; in CreateTimer()
114 return timer; in CreateTimer()
118 TimerHandle *timer, LE_ProcessTimer processTimer, void *context) in LE_CreateTimer() argument
121 LE_CHECK(timer != NULL, return LE_INVALID_PARAM, "Invalid parameters"); in LE_CreateTimer()
128 *timer = (TimerHandle)timerNode; in LE_CreateTimer()
134 const TimerHandle timer, uint64_t timeout, uint64_t repeat) in LE_StartTimer() argument
136 LE_CHECK(loopHandle != NULL && timer != NULL, return LE_INVALID_PARAM, "Invalid parameters"); in LE_StartTimer()
139 TimerNode *timerNode = (TimerNode *)timer; in LE_StartTimer()
159 TimerNode *timer = ListEntry(node, TimerNode, node); in TimerNodeDestroyProc() local
160 OH_ListRemove(&timer->node); in TimerNodeDestroyProc()
161 OH_ListInit(&timer->node); in TimerNodeDestroyProc()
162 LoopMutexDestroy(timer->mutex); in TimerNodeDestroyProc()
163 free(timer); in TimerNodeDestroyProc()
173 TimerNode *timer = (TimerNode *)timerHandle; in CancelTimer() local
174 LE_CHECK(timer != NULL, return, "Invalid timer"); in CancelTimer()
176 if ((timer->flags & TIMER_PROCESSING) == TIMER_PROCESSING) { in CancelTimer()
177 timer->flags |= TIMER_CANCELED; in CancelTimer()
180 LoopMutexLock(&timer->mutex); in CancelTimer()
181 OH_ListRemove(&timer->node); in CancelTimer()
182 OH_ListInit(&timer->node); in CancelTimer()
183 LoopMutexUnlock(&timer->mutex); in CancelTimer()
184 free(timer); in CancelTimer()
187 void LE_StopTimer(const LoopHandle loopHandle, const TimerHandle timer) in LE_StopTimer() argument
189 CancelTimer(timer); in LE_StopTimer()