If executing the stuff from ppp.linkdown results in a state change,

don't continue adjusting the ipcp state machine.

This allows ``down'' to work in ppp.linkdown - useful for a tunnel
setup.
This commit is contained in:
Brian Somers 2001-01-26 01:43:38 +00:00
parent 74457d3d43
commit 15c8dc2a03
1 changed files with 6 additions and 4 deletions

View File

@ -349,10 +349,12 @@ fsm_Close(struct fsm *fp)
break;
case ST_OPENED:
(*fp->fn->LayerDown)(fp);
FsmInitRestartCounter(fp, FSM_TRM_TIMER);
FsmSendTerminateReq(fp);
NewState(fp, ST_CLOSING);
(*fp->parent->LayerDown)(fp->parent->object, fp);
if (fp->state == ST_OPENED) {
FsmInitRestartCounter(fp, FSM_TRM_TIMER);
FsmSendTerminateReq(fp);
NewState(fp, ST_CLOSING);
(*fp->parent->LayerDown)(fp->parent->object, fp);
}
break;
case ST_REQSENT:
case ST_ACKRCVD: