Author: cmihail
Date: Tue May 24 18:05:51 2011
New Revision: 51889

URL: http://svn.reactos.org/svn/reactos?rev=51889&view=rev
Log:
[TCPIP]
Fixed an error in the accepting code (in rostcp.c line 576). tcp_accepted was 
being called for the wrong pcb. Instead of the pcb belonging to the listening 
socket it was being called for the pcb belonging to the newly created 
connection socket. In order to fix this I added an extra field to the tcp_pcb 
structure to hold a reference to the listening socket. This is a crude method 
and it will be replaced by something more elegant.
Right now however there's a slight nondeterminism regarding the connection. One 
it's established the message either gets through to the other side or not, 
randomly. This could be due to a race condition of some sorts.
Also another problem is that the server side brings down the system when 
closing.

Modified:
    branches/GSoC_2011/TcpIpDriver/drivers/network/afd/afd/connect.c
    branches/GSoC_2011/TcpIpDriver/drivers/network/afd/afd/listen.c
    branches/GSoC_2011/TcpIpDriver/drivers/network/afd/afd/main.c
    branches/GSoC_2011/TcpIpDriver/drivers/network/tcpip/include/debug.h
    branches/GSoC_2011/TcpIpDriver/drivers/network/tcpip/tcpip/dispatch.c
    branches/GSoC_2011/TcpIpDriver/drivers/network/tcpip/tcpip/main.c
    branches/GSoC_2011/TcpIpDriver/lib/drivers/ip/transport/tcp/accept.c
    branches/GSoC_2011/TcpIpDriver/lib/drivers/ip/transport/tcp/event.c
    branches/GSoC_2011/TcpIpDriver/lib/drivers/ip/transport/tcp/if.c
    branches/GSoC_2011/TcpIpDriver/lib/drivers/ip/transport/tcp/tcp.c
    branches/GSoC_2011/TcpIpDriver/lib/drivers/lwip/src/core/tcp.c
    branches/GSoC_2011/TcpIpDriver/lib/drivers/lwip/src/core/tcp_in.c
    branches/GSoC_2011/TcpIpDriver/lib/drivers/lwip/src/include/arch/cc.h
    branches/GSoC_2011/TcpIpDriver/lib/drivers/lwip/src/include/lwip/debug.h
    branches/GSoC_2011/TcpIpDriver/lib/drivers/lwip/src/include/lwip/tcp.h
    branches/GSoC_2011/TcpIpDriver/lib/drivers/lwip/src/include/lwipopts.h
    branches/GSoC_2011/TcpIpDriver/lib/drivers/lwip/src/rostcp.c

[This mail would be too long, it was shortened to contain the URLs only.]

Modified: branches/GSoC_2011/TcpIpDriver/drivers/network/afd/afd/connect.c
URL: 
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/TcpIpDriver/drivers/network/afd/afd/connect.c?rev=51889&r1=51888&r2=51889&view=diff

Modified: branches/GSoC_2011/TcpIpDriver/drivers/network/afd/afd/listen.c
URL: 
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/TcpIpDriver/drivers/network/afd/afd/listen.c?rev=51889&r1=51888&r2=51889&view=diff

Modified: branches/GSoC_2011/TcpIpDriver/drivers/network/afd/afd/main.c
URL: 
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/TcpIpDriver/drivers/network/afd/afd/main.c?rev=51889&r1=51888&r2=51889&view=diff

Modified: branches/GSoC_2011/TcpIpDriver/drivers/network/tcpip/include/debug.h
URL: 
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/TcpIpDriver/drivers/network/tcpip/include/debug.h?rev=51889&r1=51888&r2=51889&view=diff

Modified: branches/GSoC_2011/TcpIpDriver/drivers/network/tcpip/tcpip/dispatch.c
URL: 
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/TcpIpDriver/drivers/network/tcpip/tcpip/dispatch.c?rev=51889&r1=51888&r2=51889&view=diff

Modified: branches/GSoC_2011/TcpIpDriver/drivers/network/tcpip/tcpip/main.c
URL: 
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/TcpIpDriver/drivers/network/tcpip/tcpip/main.c?rev=51889&r1=51888&r2=51889&view=diff

Modified: branches/GSoC_2011/TcpIpDriver/lib/drivers/ip/transport/tcp/accept.c
URL: 
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/TcpIpDriver/lib/drivers/ip/transport/tcp/accept.c?rev=51889&r1=51888&r2=51889&view=diff

Modified: branches/GSoC_2011/TcpIpDriver/lib/drivers/ip/transport/tcp/event.c
URL: 
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/TcpIpDriver/lib/drivers/ip/transport/tcp/event.c?rev=51889&r1=51888&r2=51889&view=diff

Modified: branches/GSoC_2011/TcpIpDriver/lib/drivers/ip/transport/tcp/if.c
URL: 
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/TcpIpDriver/lib/drivers/ip/transport/tcp/if.c?rev=51889&r1=51888&r2=51889&view=diff

Modified: branches/GSoC_2011/TcpIpDriver/lib/drivers/ip/transport/tcp/tcp.c
URL: 
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/TcpIpDriver/lib/drivers/ip/transport/tcp/tcp.c?rev=51889&r1=51888&r2=51889&view=diff

Modified: branches/GSoC_2011/TcpIpDriver/lib/drivers/lwip/src/core/tcp.c
URL: 
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/TcpIpDriver/lib/drivers/lwip/src/core/tcp.c?rev=51889&r1=51888&r2=51889&view=diff

Modified: branches/GSoC_2011/TcpIpDriver/lib/drivers/lwip/src/core/tcp_in.c
URL: 
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/TcpIpDriver/lib/drivers/lwip/src/core/tcp_in.c?rev=51889&r1=51888&r2=51889&view=diff

Modified: branches/GSoC_2011/TcpIpDriver/lib/drivers/lwip/src/include/arch/cc.h
URL: 
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/TcpIpDriver/lib/drivers/lwip/src/include/arch/cc.h?rev=51889&r1=51888&r2=51889&view=diff

Modified: 
branches/GSoC_2011/TcpIpDriver/lib/drivers/lwip/src/include/lwip/debug.h
URL: 
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/TcpIpDriver/lib/drivers/lwip/src/include/lwip/debug.h?rev=51889&r1=51888&r2=51889&view=diff

Modified: branches/GSoC_2011/TcpIpDriver/lib/drivers/lwip/src/include/lwip/tcp.h
URL: 
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/TcpIpDriver/lib/drivers/lwip/src/include/lwip/tcp.h?rev=51889&r1=51888&r2=51889&view=diff

Modified: branches/GSoC_2011/TcpIpDriver/lib/drivers/lwip/src/include/lwipopts.h
URL: 
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/TcpIpDriver/lib/drivers/lwip/src/include/lwipopts.h?rev=51889&r1=51888&r2=51889&view=diff

Modified: branches/GSoC_2011/TcpIpDriver/lib/drivers/lwip/src/rostcp.c
URL: 
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/TcpIpDriver/lib/drivers/lwip/src/rostcp.c?rev=51889&r1=51888&r2=51889&view=diff


Reply via email to