Lines Matching refs:timeout
105 struct dl_list timeout; member
166 dl_list_init(&eloop.timeout); in eloop_init()
776 struct eloop_timeout *timeout, *tmp; in eloop_register_timeout() local
779 timeout = os_zalloc(sizeof(*timeout)); in eloop_register_timeout()
780 if (timeout == NULL) in eloop_register_timeout()
782 if (os_get_reltime(&timeout->time) < 0) { in eloop_register_timeout()
783 os_free(timeout); in eloop_register_timeout()
786 now_sec = timeout->time.sec; in eloop_register_timeout()
787 timeout->time.sec += secs; in eloop_register_timeout()
788 if (timeout->time.sec < now_sec) in eloop_register_timeout()
790 timeout->time.usec += usecs; in eloop_register_timeout()
791 while (timeout->time.usec >= 1000000) { in eloop_register_timeout()
792 timeout->time.sec++; in eloop_register_timeout()
793 timeout->time.usec -= 1000000; in eloop_register_timeout()
795 if (timeout->time.sec < now_sec) in eloop_register_timeout()
797 timeout->eloop_data = eloop_data; in eloop_register_timeout()
798 timeout->user_data = user_data; in eloop_register_timeout()
799 timeout->handler = handler; in eloop_register_timeout()
800 wpa_trace_add_ref(timeout, eloop, eloop_data); in eloop_register_timeout()
801 wpa_trace_add_ref(timeout, user, user_data); in eloop_register_timeout()
802 wpa_trace_record(timeout); in eloop_register_timeout()
805 dl_list_for_each(tmp, &eloop.timeout, struct eloop_timeout, list) { in eloop_register_timeout()
806 if (os_reltime_before(&timeout->time, &tmp->time)) { in eloop_register_timeout()
807 dl_list_add(tmp->list.prev, &timeout->list); in eloop_register_timeout()
811 dl_list_add_tail(&eloop.timeout, &timeout->list); in eloop_register_timeout()
823 os_free(timeout); in eloop_register_timeout()
828 static void eloop_remove_timeout(struct eloop_timeout *timeout) in eloop_remove_timeout() argument
830 dl_list_del(&timeout->list); in eloop_remove_timeout()
831 wpa_trace_remove_ref(timeout, eloop, timeout->eloop_data); in eloop_remove_timeout()
832 wpa_trace_remove_ref(timeout, user, timeout->user_data); in eloop_remove_timeout()
833 os_free(timeout); in eloop_remove_timeout()
840 struct eloop_timeout *timeout, *prev; in eloop_cancel_timeout() local
843 dl_list_for_each_safe(timeout, prev, &eloop.timeout, in eloop_cancel_timeout()
845 if (timeout->handler == handler && in eloop_cancel_timeout()
846 (timeout->eloop_data == eloop_data || in eloop_cancel_timeout()
848 (timeout->user_data == user_data || in eloop_cancel_timeout()
850 eloop_remove_timeout(timeout); in eloop_cancel_timeout()
863 struct eloop_timeout *timeout, *prev; in eloop_cancel_timeout_one() local
870 dl_list_for_each_safe(timeout, prev, &eloop.timeout, in eloop_cancel_timeout_one()
872 if (timeout->handler == handler && in eloop_cancel_timeout_one()
873 (timeout->eloop_data == eloop_data) && in eloop_cancel_timeout_one()
874 (timeout->user_data == user_data)) { in eloop_cancel_timeout_one()
876 if (os_reltime_before(&now, &timeout->time)) in eloop_cancel_timeout_one()
877 os_reltime_sub(&timeout->time, &now, remaining); in eloop_cancel_timeout_one()
878 eloop_remove_timeout(timeout); in eloop_cancel_timeout_one()
891 dl_list_for_each(tmp, &eloop.timeout, struct eloop_timeout, list) { in eloop_is_timeout_registered()
909 dl_list_for_each(tmp, &eloop.timeout, struct eloop_timeout, list) { in eloop_deplete_timeout()
941 dl_list_for_each(tmp, &eloop.timeout, struct eloop_timeout, list) { in eloop_replenish_timeout()
1099 (!dl_list_empty(&eloop.timeout) || eloop.readers.count > 0 || in eloop_run()
1101 struct eloop_timeout *timeout; in eloop_run() local
1116 timeout = dl_list_first(&eloop.timeout, struct eloop_timeout, in eloop_run()
1118 if (timeout) { in eloop_run()
1120 if (os_reltime_before(&now, &timeout->time)) in eloop_run()
1121 os_reltime_sub(&timeout->time, &now, &tv); in eloop_run()
1143 timeout ? timeout_ms : -1); in eloop_run()
1150 timeout ? &_tv : NULL); in eloop_run()
1166 timeout ? &ts : NULL); in eloop_run()
1196 timeout = dl_list_first(&eloop.timeout, struct eloop_timeout, in eloop_run()
1198 if (timeout) { in eloop_run()
1200 if (!os_reltime_before(&now, &timeout->time)) { in eloop_run()
1201 void *eloop_data = timeout->eloop_data; in eloop_run()
1202 void *user_data = timeout->user_data; in eloop_run()
1204 timeout->handler; in eloop_run()
1205 eloop_remove_timeout(timeout); in eloop_run()
1264 struct eloop_timeout *timeout, *prev; in eloop_destroy() local
1268 dl_list_for_each_safe(timeout, prev, &eloop.timeout, in eloop_destroy()
1271 sec = timeout->time.sec - now.sec; in eloop_destroy()
1272 usec = timeout->time.usec - now.usec; in eloop_destroy()
1273 if (timeout->time.usec < now.usec) { in eloop_destroy()
1279 sec, usec, timeout->eloop_data, timeout->user_data, in eloop_destroy()
1280 timeout->handler); in eloop_destroy()
1282 timeout->handler); in eloop_destroy()
1283 wpa_trace_dump("eloop timeout", timeout); in eloop_destroy()
1284 eloop_remove_timeout(timeout); in eloop_destroy()