diff --git a/gatchat/ppp_cp.c b/gatchat/ppp_cp.c index 478d62b5..c435ec3a 100644 --- a/gatchat/ppp_cp.c +++ b/gatchat/ppp_cp.c @@ -274,16 +274,6 @@ static gboolean pppcp_timeout(gpointer user_data) return FALSE; } -static void pppcp_start_timer(struct pppcp_timer_data *timer_data) -{ - if (timer_data->restart_timer) - return; - - timer_data->restart_timer = - g_timeout_add_seconds(timer_data->restart_interval, - pppcp_timeout, timer_data); -} - static void pppcp_stop_timer(struct pppcp_timer_data *timer_data) { if (timer_data->restart_timer) { @@ -292,6 +282,15 @@ static void pppcp_stop_timer(struct pppcp_timer_data *timer_data) } } +static void pppcp_start_timer(struct pppcp_timer_data *timer_data) +{ + pppcp_stop_timer(timer_data); + + timer_data->restart_timer = + g_timeout_add_seconds(timer_data->restart_interval, + pppcp_timeout, timer_data); +} + static gboolean is_first_request(struct pppcp_timer_data *timer_data) { return (timer_data->restart_counter == timer_data->max_counter);