diff --git a/src/include/gpxe/retry.h b/src/include/gpxe/retry.h index e0c0248b1..e71e7b3bb 100644 --- a/src/include/gpxe/retry.h +++ b/src/include/gpxe/retry.h @@ -35,6 +35,7 @@ struct retry_timer { }; extern void start_timer ( struct retry_timer *timer ); +extern void start_timer_nodelay ( struct retry_timer *timer ); extern void stop_timer ( struct retry_timer *timer ); /** diff --git a/src/net/retry.c b/src/net/retry.c index 6734968f5..0f711e6d1 100644 --- a/src/net/retry.c +++ b/src/net/retry.c @@ -73,6 +73,18 @@ void start_timer ( struct retry_timer *timer ) { timer, timer->start, ( timer->start + timer->timeout ) ); } +/** + * Start timer with no delay + * + * @v timer Retry timer + * + * This starts the timer running with a zero timeout value. + */ +void start_timer_nodelay ( struct retry_timer *timer ) { + start_timer ( timer ); + timer->timeout = 0; +} + /** * Stop timer *