diff options
-rw-r--r-- | gatchat/gatppp.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gatchat/gatppp.c b/gatchat/gatppp.c index 70669b04..cb2fef98 100644 --- a/gatchat/gatppp.c +++ b/gatchat/gatppp.c @@ -290,7 +290,7 @@ void ppp_lcp_down_notify(GAtPPP *ppp) void ppp_lcp_finished_notify(GAtPPP *ppp) { - ppp_dead(ppp); + ppp_enter_phase(ppp, PPP_PHASE_DEAD); } void ppp_set_recv_accm(GAtPPP *ppp, guint32 accm) @@ -318,6 +318,9 @@ static void io_disconnect(gpointer user_data) { GAtPPP *ppp = user_data; + if (ppp->phase == PPP_PHASE_DEAD) + return; + ppp->disconnect_reason = G_AT_PPP_REASON_LINK_DEAD; pppcp_signal_down(ppp->lcp); pppcp_signal_close(ppp->lcp); |