Home | History | Annotate | Download | only in utils

Lines Matching full:timeout

70 	struct dl_list timeout;
130 dl_list_init(&eloop.timeout);
481 struct eloop_timeout *timeout, *tmp;
484 timeout = os_zalloc(sizeof(*timeout));
485 if (timeout == NULL)
487 if (os_get_time(&timeout->time) < 0) {
488 os_free(timeout);
491 now_sec = timeout->time.sec;
492 timeout->time.sec += secs;
493 if (timeout->time.sec < now_sec) {
495 * Integer overflow - assume long enough timeout to be assumed
496 * to be infinite, i.e., the timeout would never happen.
498 wpa_printf(MSG_DEBUG, "ELOOP: Too long timeout (secs=%u) to "
500 os_free(timeout);
503 timeout->time.usec += usecs;
504 while (timeout->time.usec >= 1000000) {
505 timeout->time.sec++;
506 timeout->time.usec -= 1000000;
508 timeout->eloop_data = eloop_data;
509 timeout->user_data = user_data;
510 timeout->handler = handler;
511 wpa_trace_add_ref(timeout, eloop, eloop_data);
512 wpa_trace_add_ref(timeout, user, user_data);
513 wpa_trace_record(timeout);
516 dl_list_for_each(tmp, &eloop.timeout, struct eloop_timeout, list) {
517 if (os_time_before(&timeout->time, &tmp->time)) {
518 dl_list_add(tmp->list.prev, &timeout->list);
522 dl_list_add_tail(&eloop.timeout, &timeout->list);
528 static void eloop_remove_timeout(struct eloop_timeout *timeout)
530 dl_list_del(&timeout->list);
531 wpa_trace_remove_ref(timeout, eloop, timeout->eloop_data);
532 wpa_trace_remove_ref(timeout, user, timeout->user_data);
533 os_free(timeout);
540 struct eloop_timeout *timeout, *prev;
543 dl_list_for_each_safe(timeout, prev, &eloop.timeout,
545 if (timeout->handler == handler &&
546 (timeout->eloop_data == eloop_data ||
548 (timeout->user_data == user_data ||
550 eloop_remove_timeout(timeout);
563 struct eloop_timeout *timeout, *prev;
570 dl_list_for_each_safe(timeout, prev, &eloop.timeout,
572 if (timeout->handler == handler &&
573 (timeout->eloop_data == eloop_data) &&
574 (timeout->user_data == user_data)) {
576 if (os_time_before(&now, &timeout->time))
577 os_time_sub(&timeout->time, &now, remaining);
578 eloop_remove_timeout(timeout);
591 dl_list_for_each(tmp, &eloop.timeout, struct eloop_timeout, list) {
728 (!dl_list_empty(&eloop.timeout) || eloop.readers.count > 0 ||
730 struct eloop_timeout *timeout;
731 timeout = dl_list_first(&eloop.timeout, struct eloop_timeout,
733 if (timeout) {
735 if (os_time_before(&now, &timeout->time))
736 os_time_sub(&timeout->time, &now, &tv);
753 timeout ? timeout_ms : -1);
764 timeout ? &_tv : NULL);
773 timeout = dl_list_first(&eloop.timeout, struct eloop_timeout,
775 if (timeout) {
777 if (!os_time_before(&now, &timeout->time)) {
778 void *eloop_data = timeout->eloop_data;
779 void *user_data = timeout->user_data;
781 timeout->handler;
782 eloop_remove_timeout(timeout);
820 struct eloop_timeout *timeout, *prev;
824 dl_list_for_each_safe(timeout, prev, &eloop.timeout,
827 sec = timeout->time.sec - now.sec;
828 usec = timeout->time.usec - now.usec;
829 if (timeout->time.usec < now.usec) {
833 wpa_printf(MSG_INFO, "ELOOP: remaining timeout: %d.%06d "
835 sec, usec, timeout->eloop_data, timeout->user_data,
836 timeout->handler);
837 wpa_trace_dump_funcname("eloop unregistered timeout handler",
838 timeout->handler);
839 wpa_trace_dump("eloop timeout", timeout);
840 eloop_remove_timeout(timeout);