From de802310bc3ce8adc42d2df71793da8cb830e2c8 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Fri, 31 Aug 2012 19:50:56 +0100 Subject: [PATCH] [retry] Expose retry_poll() to explicitly poll all running timers Signed-off-by: Michael Brown --- src/include/ipxe/retry.h | 1 + src/net/retry.c | 14 +++++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/include/ipxe/retry.h b/src/include/ipxe/retry.h index 87f69a5d..c514822b 100644 --- a/src/include/ipxe/retry.h +++ b/src/include/ipxe/retry.h @@ -85,6 +85,7 @@ extern void start_timer ( struct retry_timer *timer ); extern void start_timer_fixed ( struct retry_timer *timer, unsigned long timeout ); extern void stop_timer ( struct retry_timer *timer ); +extern void retry_poll ( void ); /** * Start timer with no delay diff --git a/src/net/retry.c b/src/net/retry.c index 4f43b76f..8f210bdc 100644 --- a/src/net/retry.c +++ b/src/net/retry.c @@ -177,11 +177,10 @@ static void timer_expired ( struct retry_timer *timer ) { } /** - * Single-step the retry timer list + * Poll the retry timer list * - * @v process Retry timer process */ -static void retry_step ( struct process *process __unused ) { +void retry_poll ( void ) { struct retry_timer *timer; unsigned long now = currticks(); unsigned long used; @@ -200,5 +199,14 @@ static void retry_step ( struct process *process __unused ) { } } +/** + * Single-step the retry timer list + * + * @v process Retry timer process + */ +static void retry_step ( struct process *process __unused ) { + retry_poll(); +} + /** Retry timer process */ PERMANENT_PROCESS ( retry_process, retry_step );