- Implement LibTCPShutdown
[IP]
- Replace an incredibly broken implementation of TCPDisconnect which caused memory corruption with a working one using LibTCPShutdown

svn path=/branches/GSoC_2011/TcpIpDriver/; revision=52200
This commit is contained in:
Cameron Gutman 2011-06-12 18:25:16 +00:00
parent b3b5468071
commit ade9312f85
3 changed files with 71 additions and 7 deletions

View file

@ -316,19 +316,15 @@ NTSTATUS TCPDisconnect
if (Flags & TDI_DISCONNECT_RELEASE)
{
/* FIXME */
LibTCPClose(Connection->SocketContext);
Status = LibTCPShutdown(Connection->SocketContext, 0, 1);
}
if ((Flags & TDI_DISCONNECT_ABORT) || !Flags)
{
/* FIXME */
LibTCPClose(Connection->SocketContext);
Status = LibTCPShutdown(Connection->SocketContext, 1, 1);
}
Status = STATUS_SUCCESS;
DbgPrint("LibTCPClose: %x\n", Status);
DbgPrint("LibTCPShutdown: %x\n", Status);
UnlockObject(Connection, OldIrql);