mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2024-10-05 22:29:49 +00:00
PPP, CORE, cleaned ppp_close() function
Calling new_phase() instead of assigning pcb->phase directly. Removed redundant call to link status callback.
This commit is contained in:
parent
00bb70a62d
commit
4bcddd72e6
@ -469,12 +469,13 @@ err_t ppp_open(ppp_pcb *pcb, u16_t holdoff);
|
|||||||
/*
|
/*
|
||||||
* Initiate the end of a PPP connection.
|
* Initiate the end of a PPP connection.
|
||||||
* Any outstanding packets in the queues are dropped.
|
* Any outstanding packets in the queues are dropped.
|
||||||
* Return 0 on success, an error code on failure.
|
|
||||||
*
|
*
|
||||||
* Setting nocarrier to 1 close the PPP connection without initiating the
|
* Setting nocarrier to 1 close the PPP connection without initiating the
|
||||||
* shutdown procedure. Always using nocarrier = 0 is still recommended,
|
* shutdown procedure. Always using nocarrier = 0 is still recommended,
|
||||||
* this is going to take a little longer time if your link is down, but
|
* this is going to take a little longer time if your link is down, but
|
||||||
* is a safer choice for the PPP state machine.
|
* is a safer choice for the PPP state machine.
|
||||||
|
*
|
||||||
|
* Return 0 on success, an error code on failure.
|
||||||
*/
|
*/
|
||||||
err_t ppp_close(ppp_pcb *pcb, u8_t nocarrier);
|
err_t ppp_close(ppp_pcb *pcb, u8_t nocarrier);
|
||||||
|
|
||||||
|
@ -278,6 +278,12 @@ err_t ppp_open(ppp_pcb *pcb, u16_t holdoff) {
|
|||||||
/*
|
/*
|
||||||
* Initiate the end of a PPP connection.
|
* Initiate the end of a PPP connection.
|
||||||
* Any outstanding packets in the queues are dropped.
|
* Any outstanding packets in the queues are dropped.
|
||||||
|
*
|
||||||
|
* Setting nocarrier to 1 close the PPP connection without initiating the
|
||||||
|
* shutdown procedure. Always using nocarrier = 0 is still recommended,
|
||||||
|
* this is going to take a little longer time if your link is down, but
|
||||||
|
* is a safer choice for the PPP state machine.
|
||||||
|
*
|
||||||
* Return 0 on success, an error code on failure.
|
* Return 0 on success, an error code on failure.
|
||||||
*/
|
*/
|
||||||
err_t
|
err_t
|
||||||
@ -285,16 +291,14 @@ ppp_close(ppp_pcb *pcb, u8_t nocarrier)
|
|||||||
{
|
{
|
||||||
pcb->err_code = PPPERR_USER;
|
pcb->err_code = PPPERR_USER;
|
||||||
|
|
||||||
/* dead phase, nothing to do, call the status callback to be consistent */
|
/* holdoff phase, cancel the reconnection */
|
||||||
if (pcb->phase == PPP_PHASE_DEAD) {
|
|
||||||
pcb->link_status_cb(pcb, pcb->err_code, pcb->ctx_cb);
|
|
||||||
return ERR_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* holdoff phase, cancel the reconnection and call the status callback */
|
|
||||||
if (pcb->phase == PPP_PHASE_HOLDOFF) {
|
if (pcb->phase == PPP_PHASE_HOLDOFF) {
|
||||||
sys_untimeout(ppp_do_open, pcb);
|
sys_untimeout(ppp_do_open, pcb);
|
||||||
pcb->phase = PPP_PHASE_DEAD;
|
new_phase(pcb, PPP_PHASE_DEAD);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* dead phase, nothing to do, call the status callback to be consistent */
|
||||||
|
if (pcb->phase == PPP_PHASE_DEAD) {
|
||||||
pcb->link_status_cb(pcb, pcb->err_code, pcb->ctx_cb);
|
pcb->link_status_cb(pcb, pcb->err_code, pcb->ctx_cb);
|
||||||
return ERR_OK;
|
return ERR_OK;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user