Author: zhu
Date: Fri Jul 29 16:28:01 2016
New Revision: 72051
URL:
http://svn.reactos.org/svn/reactos?rev=72051&view=rev
Log:
Major rewrite of address.c, completely restructuring internal data. No longer maintaining
linked list of connection endpoints; their references are handed off to lwIP to keep track
of in protocol control blocks. Scrapped redundant functions in duplicate address checking
code in favor of exposing lwIP's free-port checking function and letting lwIP handle
address collisions when binding. Added a custom mutex that allows only one execution
context to access each connection endpoint (TCP_CONTEXT). Massively improved coding style
consistency.
Server side can handle multiple incoming connections in series without crashing, but there
is an undiagnosed issue that causes frequent crashes on repeated attempts to connect to a
server. The crash always happens after a call to tcp_connect() has been made, and before
it returns.
No attempted solution to the lwIP multi-threading problem in this commit.
Modified:
branches/GSoC_2016/lwIP-tcpip/base/applications/network/tcpclient/main.c
branches/GSoC_2016/lwIP-tcpip/drivers/network/tcpip/address.c
branches/GSoC_2016/lwIP-tcpip/drivers/network/tcpip/address.h
branches/GSoC_2016/lwIP-tcpip/drivers/network/tcpip/main.c
branches/GSoC_2016/lwIP-tcpip/sdk/lib/drivers/lwip/src/core/tcp.c
branches/GSoC_2016/lwIP-tcpip/sdk/lib/drivers/lwip/src/core/udp.c
branches/GSoC_2016/lwIP-tcpip/sdk/lib/drivers/lwip/src/include/lwip/tcp.h
branches/GSoC_2016/lwIP-tcpip/sdk/lib/drivers/lwip/src/include/lwip/udp.h
[This mail would be too long, it was shortened to contain the URLs only.]
Modified: branches/GSoC_2016/lwIP-tcpip/base/applications/network/tcpclient/main.c
URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/lwIP-tcpip/base/appli…
Modified: branches/GSoC_2016/lwIP-tcpip/drivers/network/tcpip/address.c
URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/lwIP-tcpip/drivers/ne…
Modified: branches/GSoC_2016/lwIP-tcpip/drivers/network/tcpip/address.h
URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/lwIP-tcpip/drivers/ne…
Modified: branches/GSoC_2016/lwIP-tcpip/drivers/network/tcpip/main.c
URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/lwIP-tcpip/drivers/ne…
Modified: branches/GSoC_2016/lwIP-tcpip/sdk/lib/drivers/lwip/src/core/tcp.c
URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/lwIP-tcpip/sdk/lib/dr…
Modified: branches/GSoC_2016/lwIP-tcpip/sdk/lib/drivers/lwip/src/core/udp.c
URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/lwIP-tcpip/sdk/lib/dr…
Modified: branches/GSoC_2016/lwIP-tcpip/sdk/lib/drivers/lwip/src/include/lwip/tcp.h
URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/lwIP-tcpip/sdk/lib/dr…
Modified: branches/GSoC_2016/lwIP-tcpip/sdk/lib/drivers/lwip/src/include/lwip/udp.h
URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/lwIP-tcpip/sdk/lib/dr…