From f945d6d201901b204eceae0b8ee7d6a8d0912402 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Sun, 12 Oct 2008 15:04:37 +0100 Subject: [retry] Use a separate flag to indicate that a retry timer is running Using start==0 to indicate a stopped timer is dangerous, because 0 is a valid value for the current tick counter. --- src/include/gpxe/retry.h | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'src/include') diff --git a/src/include/gpxe/retry.h b/src/include/gpxe/retry.h index ec57db9e4..1e7fde4c3 100644 --- a/src/include/gpxe/retry.h +++ b/src/include/gpxe/retry.h @@ -19,6 +19,8 @@ struct retry_timer { /** List of active timers */ struct list_head list; + /** Timer is currently running */ + unsigned int running; /** Timeout value (in ticks) */ unsigned long timeout; /** Minimum timeout value (in ticks) @@ -31,10 +33,7 @@ struct retry_timer { * A value of zero means "use default timeout." */ unsigned long max_timeout; - /** Start time (in ticks) - * - * A start time of zero indicates a stopped timer. - */ + /** Start time (in ticks) */ unsigned long start; /** Retry count */ unsigned int count; @@ -74,7 +73,7 @@ static inline void start_timer_nodelay ( struct retry_timer *timer ) { */ static inline __attribute__ (( always_inline )) unsigned long timer_running ( struct retry_timer *timer ) { - return ( timer->start ); + return ( timer->running ); } #endif /* _GPXE_RETRY_H */ -- cgit v1.2.3-55-g7522