Hi Kristen,
change the state to DEAD when lcp finishes. This prevents us from
calling our disconnect function again if we are already dead.
I'm curious under what circumstances tlf gets called on LCP when we're already
down?
---
gatchat/gatppp.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/gatchat/gatppp.c b/gatchat/gatppp.c
index 70669b0..dd6d84d 100644
--- a/gatchat/gatppp.c
+++ b/gatchat/gatppp.c
@@ -186,9 +186,6 @@ static inline void ppp_enter_phase(GAtPPP *ppp, enum
ppp_phase phase) {
g_print("Entering new phase: %d\n", phase);
ppp->phase = phase;
-
- if (phase == PPP_PHASE_DEAD)
- ppp_dead(ppp);
}
void ppp_set_auth(GAtPPP *ppp, const guint8* auth_data)
@@ -290,6 +287,10 @@ void ppp_lcp_down_notify(GAtPPP *ppp)
void ppp_lcp_finished_notify(GAtPPP *ppp)
{
+ if (ppp->phase == PPP_PHASE_DEAD)
+ return;
I prefer we move this to ppp_enter_phase
+
+ ppp_enter_phase(ppp, PPP_PHASE_DEAD);
Keep this
ppp_dead(ppp);
And remove this.
Regards,
-Denis