- Indicate the graceful close before calling the FIN event handler

svn path=/trunk/; revision=59707
This commit is contained in:
Cameron Gutman 2013-08-12 04:58:22 +00:00
parent fbc6d8b085
commit 84da0d7111

View file

@ -251,12 +251,15 @@ InternalRecvEventHandler(void *arg, PTCP_PCB pcb, struct pbuf *p, const err_t er
{ {
Connection->SocketContext = NULL; Connection->SocketContext = NULL;
tcp_arg(pcb, NULL); tcp_arg(pcb, NULL);
TCPFinEventHandler(Connection, ERR_OK);
} }
else
/* Indicate the graceful close event */
TCPRecvEventHandler(arg);
/* If the PCB is gone, clean up the connection */
if (Connection->SendShutdown)
{ {
/* Remotely initiated close */ TCPFinEventHandler(Connection, ERR_CLSD);
TCPRecvEventHandler(arg);
} }
} }