summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
authorMichael Brown2008-10-12 16:04:37 +0200
committerMichael Brown2008-10-12 16:11:20 +0200
commitf945d6d201901b204eceae0b8ee7d6a8d0912402 (patch)
tree0d79f3ea2be207e516638da6c5dd3e079a28537a /src/include
parent[commands] Fix config command to accept zero arguments (diff)
downloadipxe-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.h9
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 */