Lines Matching refs:p_timer

126 	cl_timer_t *p_timer;  in __cl_timer_prov_cb()  local
150 p_timer = in __cl_timer_prov_cb()
155 &p_timer->timeout); in __cl_timer_prov_cb()
170 if (p_timer->timer_state != CL_TIMER_QUEUED) in __cl_timer_prov_cb()
178 p_timer->timer_state = CL_TIMER_RUNNING; in __cl_timer_prov_cb()
182 &p_timer->list_item); in __cl_timer_prov_cb()
185 p_timer->pfn_callback((void *)p_timer->context); in __cl_timer_prov_cb()
193 if (p_timer->timer_state == CL_TIMER_RUNNING) in __cl_timer_prov_cb()
194 p_timer->timer_state = CL_TIMER_IDLE; in __cl_timer_prov_cb()
200 pthread_cond_signal(&p_timer->cond); in __cl_timer_prov_cb()
209 void cl_timer_construct(IN cl_timer_t * const p_timer) in cl_timer_construct() argument
211 memset(p_timer, 0, sizeof(cl_timer_t)); in cl_timer_construct()
212 p_timer->state = CL_UNINITIALIZED; in cl_timer_construct()
215 cl_status_t cl_timer_init(IN cl_timer_t * const p_timer, in cl_timer_init() argument
219 CL_ASSERT(p_timer); in cl_timer_init()
222 cl_timer_construct(p_timer); in cl_timer_init()
228 p_timer->pfn_callback = pfn_callback; in cl_timer_init()
229 p_timer->context = context; in cl_timer_init()
232 p_timer->timer_state = CL_TIMER_IDLE; in cl_timer_init()
235 pthread_cond_init(&p_timer->cond, NULL); in cl_timer_init()
237 p_timer->state = CL_INITIALIZED; in cl_timer_init()
242 void cl_timer_destroy(IN cl_timer_t * const p_timer) in cl_timer_destroy() argument
244 CL_ASSERT(p_timer); in cl_timer_destroy()
245 CL_ASSERT(cl_is_state_valid(p_timer->state)); in cl_timer_destroy()
247 if (p_timer->state == CL_INITIALIZED) in cl_timer_destroy()
248 cl_timer_stop(p_timer); in cl_timer_destroy()
250 p_timer->state = CL_UNINITIALIZED; in cl_timer_destroy()
253 pthread_cond_broadcast(&p_timer->cond); in cl_timer_destroy()
254 pthread_cond_destroy(&p_timer->cond); in cl_timer_destroy()
302 OUT struct timespec * const p_timer) in __cl_timer_calculate() argument
311 p_timer->tv_sec = endtime.tv_sec; in __cl_timer_calculate()
312 p_timer->tv_nsec = endtime.tv_usec * 1000; in __cl_timer_calculate()
315 cl_status_t cl_timer_start(IN cl_timer_t * const p_timer, in cl_timer_start() argument
320 CL_ASSERT(p_timer); in cl_timer_start()
321 CL_ASSERT(p_timer->state == CL_INITIALIZED); in cl_timer_start()
328 if (p_timer->timer_state == CL_TIMER_QUEUED) in cl_timer_start()
330 &p_timer->list_item); in cl_timer_start()
332 __cl_timer_calculate(time_ms, &p_timer->timeout); in cl_timer_start()
338 &p_timer->list_item); in cl_timer_start()
342 __cl_timer_find, p_timer); in cl_timer_start()
346 &p_timer->list_item); in cl_timer_start()
349 p_timer->timer_state = CL_TIMER_QUEUED; in cl_timer_start()
355 void cl_timer_stop(IN cl_timer_t * const p_timer) in cl_timer_stop() argument
357 CL_ASSERT(p_timer); in cl_timer_stop()
358 CL_ASSERT(p_timer->state == CL_INITIALIZED); in cl_timer_stop()
361 switch (p_timer->timer_state) { in cl_timer_stop()
364 pthread_cond_wait(&p_timer->cond, &gp_timer_prov->mutex); in cl_timer_stop()
366 if (p_timer->timer_state != CL_TIMER_QUEUED) in cl_timer_stop()
371 p_timer->timer_state = CL_TIMER_IDLE; in cl_timer_stop()
374 &p_timer->list_item); in cl_timer_stop()
388 cl_status_t cl_timer_trim(IN cl_timer_t * const p_timer, in cl_timer_trim() argument
394 CL_ASSERT(p_timer); in cl_timer_trim()
395 CL_ASSERT(p_timer->state == CL_INITIALIZED); in cl_timer_trim()
401 if (p_timer->timer_state == CL_TIMER_QUEUED) { in cl_timer_trim()
403 if (__cl_timer_is_earlier(&p_timer->timeout, &newtime)) { in cl_timer_trim()
412 status = cl_timer_start(p_timer, time_ms); in cl_timer_trim()