diff options
| author | Michael Brown | 2008-10-12 16:04:37 +0200 |
|---|---|---|
| committer | Michael Brown | 2008-10-12 16:11:20 +0200 |
| commit | f945d6d201901b204eceae0b8ee7d6a8d0912402 (patch) | |
| tree | 0d79f3ea2be207e516638da6c5dd3e079a28537a /src/include | |
| parent | [commands] Fix config command to accept zero arguments (diff) | |
| download | ipxe-f945d6d201901b204eceae0b8ee7d6a8d0912402.tar.gz ipxe-f945d6d201901b204eceae0b8ee7d6a8d0912402.tar.xz ipxe-f945d6d201901b204eceae0b8ee7d6a8d0912402.zip | |
[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.
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/gpxe/retry.h | 9 |
1 files changed, 4 insertions, 5 deletions
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 */ |
