• Home
  • Raw
  • Download

Lines Matching refs:timeout

42 	struct dl_list timeout;  member
59 dl_list_init(&eloop.timeout); in eloop_init()
115 struct eloop_timeout *timeout, *tmp; in eloop_register_timeout() local
118 timeout = os_zalloc(sizeof(*timeout)); in eloop_register_timeout()
119 if (timeout == NULL) in eloop_register_timeout()
121 if (os_get_time(&timeout->time) < 0) { in eloop_register_timeout()
122 os_free(timeout); in eloop_register_timeout()
125 now_sec = timeout->time.sec; in eloop_register_timeout()
126 timeout->time.sec += secs; in eloop_register_timeout()
127 if (timeout->time.sec < now_sec) { in eloop_register_timeout()
134 os_free(timeout); in eloop_register_timeout()
137 timeout->time.usec += usecs; in eloop_register_timeout()
138 while (timeout->time.usec >= 1000000) { in eloop_register_timeout()
139 timeout->time.sec++; in eloop_register_timeout()
140 timeout->time.usec -= 1000000; in eloop_register_timeout()
142 timeout->eloop_data = eloop_data; in eloop_register_timeout()
143 timeout->user_data = user_data; in eloop_register_timeout()
144 timeout->handler = handler; in eloop_register_timeout()
147 dl_list_for_each(tmp, &eloop.timeout, struct eloop_timeout, list) { in eloop_register_timeout()
148 if (os_time_before(&timeout->time, &tmp->time)) { in eloop_register_timeout()
149 dl_list_add(tmp->list.prev, &timeout->list); in eloop_register_timeout()
153 dl_list_add_tail(&eloop.timeout, &timeout->list); in eloop_register_timeout()
159 static void eloop_remove_timeout(struct eloop_timeout *timeout) in eloop_remove_timeout() argument
161 dl_list_del(&timeout->list); in eloop_remove_timeout()
162 os_free(timeout); in eloop_remove_timeout()
169 struct eloop_timeout *timeout, *prev; in eloop_cancel_timeout() local
172 dl_list_for_each_safe(timeout, prev, &eloop.timeout, in eloop_cancel_timeout()
174 if (timeout->handler == handler && in eloop_cancel_timeout()
175 (timeout->eloop_data == eloop_data || in eloop_cancel_timeout()
177 (timeout->user_data == user_data || in eloop_cancel_timeout()
179 eloop_remove_timeout(timeout); in eloop_cancel_timeout()
192 struct eloop_timeout *timeout, *prev; in eloop_cancel_timeout_one() local
199 dl_list_for_each_safe(timeout, prev, &eloop.timeout, in eloop_cancel_timeout_one()
201 if (timeout->handler == handler && in eloop_cancel_timeout_one()
202 (timeout->eloop_data == eloop_data) && in eloop_cancel_timeout_one()
203 (timeout->user_data == user_data)) { in eloop_cancel_timeout_one()
205 if (os_time_before(&now, &timeout->time)) in eloop_cancel_timeout_one()
206 os_time_sub(&timeout->time, &now, remaining); in eloop_cancel_timeout_one()
207 eloop_remove_timeout(timeout); in eloop_cancel_timeout_one()
220 dl_list_for_each(tmp, &eloop.timeout, struct eloop_timeout, list) { in eloop_is_timeout_registered()
324 (!dl_list_empty(&eloop.timeout) || eloop.reader_count > 0)) { in eloop_run()
325 struct eloop_timeout *timeout; in eloop_run() local
326 timeout = dl_list_first(&eloop.timeout, struct eloop_timeout, in eloop_run()
328 if (timeout) { in eloop_run()
330 if (os_time_before(&now, &timeout->time)) in eloop_run()
331 os_time_sub(&timeout->time, &now, &tv); in eloop_run()
345 timeout = dl_list_first(&eloop.timeout, struct eloop_timeout, in eloop_run()
347 if (timeout) { in eloop_run()
349 if (!os_time_before(&now, &timeout->time)) { in eloop_run()
350 void *eloop_data = timeout->eloop_data; in eloop_run()
351 void *user_data = timeout->user_data; in eloop_run()
353 timeout->handler; in eloop_run()
354 eloop_remove_timeout(timeout); in eloop_run()
387 struct eloop_timeout *timeout, *prev; in eloop_destroy() local
389 dl_list_for_each_safe(timeout, prev, &eloop.timeout, in eloop_destroy()
391 eloop_remove_timeout(timeout); in eloop_destroy()