- Fix crash bug when disconnecting after accepting a connection from a client.
- Move the send and receive callback assignments to make the code more clear
- Change variable types to avoid excessive casting
svn path=/branches/GSoC_2011/TcpIpDriver/; revision=52387
Fix the nasty crash on socket closure bug. The bug was due to corrupting memory by wrongly assuming the LISTEN pcb had send, receive and error callbacks.
svn path=/branches/GSoC_2011/TcpIpDriver/; revision=52385
- Call the completion handler asynchronously to avoid a deadlock if AFD issues a synchronous request in its completion function
- Complete all pending requests before closing the socket
- Fixes send and receive on accepted sockets
svn path=/branches/GSoC_2011/TcpIpDriver/; revision=52307
- Fix a bug on line 191, where the pending send requests for datagrams weren't canceled (the receive list was being used instead
- Also added some formatting
svn path=/branches/GSoC_2011/TcpIpDriver/; revision=52229
- Fix a memory leak during graceful socket closure
- Print a message if not all data is taken in a receive request
svn path=/branches/GSoC_2011/TcpIpDriver/; revision=52201
- 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
Bind issue seems solved now. Server app can be restarted without failing at binding. More information is at r52166. Patch by cgutman.
svn path=/branches/GSoC_2011/TcpIpDriver/; revision=52170
* Fix unix build. We need to quote the file paths in reactos.dff for cabman to parse them correctly. Dedicated to Arty.
svn path=/branches/cmake-bringup/; revision=52085
- server.exe and client.exe do a simple exchange of messages (each sends one message to the other) and then terminate.
- server_multi.exe and client_multi.exe exchange 3 message with one another before termination.
- client_delayed.exe waits one second before sending any message to the server after a connection ahs been made (otherwise identical to client.exe)
svn path=/branches/GSoC_2011/TcpIpDriver/; revision=52082
[FORMATTING]
This is just a code formatting phase. I reordered some of the code and put some debugging DbgPrint-s in order to help understand the control and data flow. Working on trying to stop the system from crashing when server socket gets closed.
svn path=/branches/GSoC_2011/TcpIpDriver/; revision=52042
* Several improvements to debug symbols handling.
* A new (killer/awesome/...etc) feature has been introduced to kdbg: argument values support. Now backtraces contain not only usermode and kernelmode addresses translated, but also the argument values passed to the functions along the trace.
* Brought to you by the Arty.
svn path=/branches/cmake-bringup/; revision=52027
Closing a socket while in listening state (that has not accepted any connections) no longer certainly crashes the system. There's still a tendency to crash the system sometimes, but it's related to possibly not canceling any outstanding IRPs for the listening socket.
svn path=/branches/GSoC_2011/TcpIpDriver/; revision=51962
- Removed hack from lwIP code. Now the listening pcb is obtained in a way as to not affect pllute lwIP code.
- Also there's still a little foreign code left in lwIP, but this can be easily removed as it contains no functional purpose, except debugging.
svn path=/branches/GSoC_2011/TcpIpDriver/; revision=51924
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.
svn path=/branches/GSoC_2011/TcpIpDriver/; revision=51889
- generate source files and header files in one pass by passing right arguments to widl.
Why this didn't work before is left as an exercise for the reader.
svn path=/branches/cmake-bringup/; revision=51772
- refactor generation of rpcproxy file to avoid recompiling
Get rid of unnecessary libraries in the process.
Tested with both mingw32-make+widl/nmake+midl
- do not rebuild livecd hives if not necessary
svn path=/branches/cmake-bringup/; revision=51771
Completely refactor bootcd generation
- one macro (à la cmake's install) to rule them all, to make your life simpler and have build files cleaner
- Completely rehaul the bootcd tree : now you have in it some minimal reactos system
- reflect those changes in setupldr
No livecd yet!
svn path=/branches/cmake-bringup/; revision=51731
* Partially revert r50224 as the current resource handling doesn't suffer from the iconv issue on unix.
svn path=/branches/cmake-bringup/; revision=51703
sync with trunk (r51543)
(I had to comment out sv-SE.rc in rapps, there are problems with characters)
svn path=/branches/cmake-bringup/; revision=51553