Comments inline.
On 2016-07-05 20:35, zhu@svn.reactos.org wrote:
--- branches/GSoC_2016/lwIP-tcpip/drivers/network/tcpip/address.c [iso-8859-1] (original) +++ branches/GSoC_2016/lwIP-tcpip/drivers/network/tcpip/address.c [iso-8859-1] Tue Jul 5 18:35:17 2016 @@ -357,15 +356,15 @@ KeReleaseSpinLockFromDpcLevel(&Context->RequestListLock);
if (Context->lwip_tcp_pcb != Context->AddressFile->lwip_tcp_pcb)
if (Context->lwip_tcp_pcb == Context->AddressFile->lwip_tcp_pcb);
You really don't want a semicolon here ;)
{
tcp_close(Context->lwip_tcp_pcb);
Context->AddressFile->lwip_tcp_pcb = NULL; }
if (!p)
{
CopiedLength = 0;Status = STATUS_ADDRESS_CLOSED;goto BAD;}
if (RemainingDestBytes <= p->len) { RtlCopyMemory(CurrentDestLocation, p->payload, RemainingDestBytes); CopiedLength = RemainingDestBytes;
Status = STATUS_SUCCESS;goto RETURN;
We normally call labels things like "Exit" and "Failure".
@@ -826,23 +846,24 @@
tcp_recved(tpcb, CopiedLength);
I find it confusing not to have Entry = Head->Flink right here. I'm not sure where it is, but unless there's a good reason for it to be somewhere else I'd recommend putting it right in front of the loop.
- while (Entry != Head)
- {
Request = CONTAINING_RECORD(Entry, TCP_REQUEST, ListEntry);
Entry = Entry->Flink? ;)
if (Request->PendingMode == TCP_REQUEST_PENDING_RECEIVE){tcp_recv(tpcb, lwip_tcp_receive_callback);break;}- }
@@ -1666,6 +1690,21 @@ if (!(IsListEmpty(&Context->RequestListHead))) { DPRINT1("Disassociating context with outstanding requests\n");
Head = &Context->RequestListHead;Entry = Head->Flink;while (Entry != Head){Request = CONTAINING_RECORD(Entry, TCP_REQUEST, ListEntry);
Entry = Entry->Flink;
if (Request->PendingIrp){IrpSp = IoGetCurrentIrpStackLocation(Request->PendingIrp);DPRINT1("Pending IRP Control Code: %08x\n", IrpSp->MinorFunction);}else{DPRINT1("IRP is NULL\n");} } KeReleaseSpinLockFromDpcLevel(&Context->RequestListLock);}
Thanks. -Thomas