summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gatchat/gatppp.c5
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);