diff options
Diffstat (limited to '')
-rw-r--r-- | forward.c | 9 | ||||
-rw-r--r-- | interval.h | 8 | ||||
-rw-r--r-- | version.m4 | 2 |
3 files changed, 14 insertions, 5 deletions
@@ -176,6 +176,9 @@ void check_push_request_dowork (struct context *c) { send_push_request (c); + + /* if no response to first push_request, retry at 5 second intervals */ + event_timeout_modify_wakeup (&c->c2.push_request_interval, 5); } #endif @@ -204,10 +207,8 @@ check_connection_established_dowork (struct context *c) 0); } #endif - send_push_request (c); - - /* if no reply, try again in 5 sec */ - event_timeout_init (&c->c2.push_request_interval, 5, now); + /* send push request in 1 sec */ + event_timeout_init (&c->c2.push_request_interval, 1, now); reset_coarse_timers (c); } else @@ -177,6 +177,14 @@ event_timeout_reset (struct event_timeout* et) et->last = now; } +static inline void +event_timeout_modify_wakeup (struct event_timeout* et, interval_t n) +{ + /* note that you might need to call reset_coarse_timers after this */ + if (et->defined) + et->n = (n >= 0) ? n : 0; +} + /* * This is the principal function for testing and triggering recurring * timers and will return true on a timer signal event. @@ -1,5 +1,5 @@ dnl define the OpenVPN version -define(PRODUCT_VERSION,[2.1_rc19c]) +define(PRODUCT_VERSION,[2.1_rc19d]) dnl define the TAP version define(PRODUCT_TAP_ID,[tap0901]) define(PRODUCT_TAP_WIN32_MIN_MAJOR,[9]) |