Commit graph

47127 commits

Author SHA1 Message Date
Claudiu Mihail cb01eb2af4 [TCPIP]
- Remove debug prints
- Modify error code translations
[lwIP]
- Fix race conditions caused by checking the SocketContexts of connections from outside the lwIP main thread context
- Don't explicitly remove callbacks from pcbs (no reason to do apperently)
- Use pbuf_free_callback (which can be safely called from outside the lwIP main thread context) instead of pbuf_free

svn path=/branches/GSoC_2011/TcpIpDriver/; revision=53033
2011-08-02 19:20:40 +00:00
Claudiu Mihail 95cdb2c148 [TCPIP]
- merge r53017
- do some code cleanup
[lwIP]
- do some code cleanup

svn path=/branches/GSoC_2011/TcpIpDriver/; revision=53020
2011-08-01 20:10:55 +00:00
Claudiu Mihail 6b6f11031e [lwIP]
- Revert the timer hack. It's no longer needed for speed boosts. Now lwIP is clean of any foreign code.

svn path=/branches/GSoC_2011/TcpIpDriver/; revision=52900
2011-07-26 19:29:57 +00:00
Claudiu Mihail ddd3bd5f7a [lwIP/TCPIP]
- Fix completing IRPs with 0 bytes received when getting the data from the connection's packet queue
- Eliminate memory leaks caused by unreleased pbufs
- Get rid of some commented code

In principle the speed issue with lwIP should be pretty much solved now. There's still some minor things to iron out that testing will reveal probably. Initial tests like running opera, downloading stuff etc seem to be very encouraging however.

svn path=/branches/GSoC_2011/TcpIpDriver/; revision=52894
2011-07-26 11:25:24 +00:00
Claudiu Mihail 646142ffcf [lwIP/TCPIP]
- Add queue for connections objects in order to buffer packets that have arrived but have no corresponding receive requests to be assigned to. We buffer these packets to avoid giving a timeout that could cause throughput slowdowns.

svn path=/branches/GSoC_2011/TcpIpDriver/; revision=52864
2011-07-25 18:45:59 +00:00
Claudiu Mihail 00bfbb576b [lwIP]
- Modify the signatures of the lwIP wrapper interfaces. This is the first step toward fixing some nasty crashes related to race conditions.
[TCPIP]
- Call the new lwIP wrapper interfaces appropriately.

svn path=/branches/GSoC_2011/TcpIpDriver/; revision=52767
2011-07-21 20:58:54 +00:00
Claudiu Mihail 781643393b [lwIP]
- Fix another race condition caused crash bug

svn path=/branches/GSoC_2011/TcpIpDriver/; revision=52734
2011-07-20 11:11:40 +00:00
Claudiu Mihail 356e39f4b7 [lwIP]
- rewrite fix to race condition crash this time in a correct and much more elegant manner

svn path=/branches/GSoC_2011/TcpIpDriver/; revision=52730
2011-07-18 19:20:12 +00:00
Claudiu Mihail f0c093af20 [lwIP]
- fix crash caused by a race condition when trying to close a socket
- move timer hack from sys_arch.c to timers.c because there it gives best performance (will have to get rid of it at some point though)
- when closing a socket only mask out the receive and accept callbacks (as they can cause of a crash when closing a socket). The rest of the callbacks are left alone because they may be used.

[TCPIP]
- merge r52698
- remove some DbgPrint calls that are now useless since the bug they were introduced to help discover has been fixed

svn path=/branches/GSoC_2011/TcpIpDriver/; revision=52712
2011-07-17 12:32:33 +00:00
Claudiu Mihail 11a025ade9 [lwIP]
- Upgrade to the latest version of lwIP (1.40)

svn path=/branches/GSoC_2011/TcpIpDriver/; revision=52655
2011-07-12 14:06:50 +00:00
Claudiu Mihail b5a8722b5e [lwIP]
- add a small hack in sys_arch.c to boost throughput; we forcefully make the timeout value a foxed constant to boost speed
- add small language optimizations

svn path=/branches/GSoC_2011/TcpIpDriver/; revision=52637
2011-07-11 17:33:17 +00:00
Claudiu Mihail 02013a2c67 [lwIP/IP]
- Optimize the way Send and Close handlers work by executing executing the raw lwIP functions directly instead of using lwIP's callback system. This works because the handlers are executed from lwIP's master thread context
- small language optimizations

svn path=/branches/GSoC_2011/TcpIpDriver/; revision=52630
2011-07-11 12:36:07 +00:00
Claudiu Mihail 9f0c4d27d8 [IP/lwIP]
- Fix graceful closure hanging bug

svn path=/branches/GSoC_2011/TcpIpDriver/; revision=52594
2011-07-10 00:38:29 +00:00
Amine Khaldi 00612e723d * Reverse merge ldr rewrite related commits.
svn path=/branches/GSoC_2011/TcpIpDriver/; revision=52573
2011-07-08 18:13:36 +00:00
Amine Khaldi 4f2d0d54b0 * Sync to recent trunk (r52563).
svn path=/branches/GSoC_2011/TcpIpDriver/; revision=52565
2011-07-08 01:50:19 +00:00
Cameron Gutman 31774f263a [AFD]
- Signal the event immediately if the select triggers have already been satisfied
- This fixes hangs with applications that wait on the select event before performing any socket operations

svn path=/trunk/; revision=52562
2011-07-07 22:43:35 +00:00
Cameron Gutman fff1ab8feb [AFD]
- Implement IOCTL_AFD_RECV for connection-less sockets
- Fix a parameter check
- Fixes recv() on datagram sockets

svn path=/trunk/; revision=52561
2011-07-07 20:44:47 +00:00
Cameron Gutman 2ee824a900 [MSAFD]
- Let WSPSend handle WSPSendTo on a non-datagram socket (mswsock_new does this)
- Fixes sendto on connection-oriented sockets

svn path=/trunk/; revision=52560
2011-07-07 20:16:28 +00:00
Cameron Gutman 6a6e263c86 [IP]
- Return the amount of data sent in XXXSendDatagram() functions
- Fixes send() and sendto() return values for datagram sockets (bug exposed by the AFD send user-mode IRP rewrite)

svn path=/trunk/; revision=52559
2011-07-07 20:02:52 +00:00
Dmitry Gorbachev d573717e00 Fix failed rel build.
svn path=/trunk/; revision=52558
2011-07-07 19:50:52 +00:00
Dmitry Gorbachev 2a66163177 [FREELDR]
- Move read-only data into data section (allows to boot with GRUB again).
- Discard .drectve sections.
- Silence "set but not used" warnings.

svn path=/trunk/; revision=52557
2011-07-07 19:19:44 +00:00
Dmitry Gorbachev e462a7a6d3 [NTOSKRNL]
Minas Abrahamyan (minas \dot/ subs \at/ gmail \dot/ com):
- Allow to view already shown, logged debug messages on the screen (bug #6018).

svn path=/trunk/; revision=52556
2011-07-07 19:18:16 +00:00
Sir Richard 5b90950500 Patch by Anton Yarotsky:
[SACDRV]: Implement the SAC Channel Input/Output Interface and Getters/Setters.

svn path=/trunk/; revision=52555
2011-07-07 12:03:56 +00:00
Sir Richard 79f36207fc Patch by Anton Yarotsky:
[SACDRV]: Add type definitions for channel VTABLE.
[SACDRV]: Add channel event macros and flags.
[SACDRV]: Add channal lock macros.
[SACDRV]: Add macros for parameter validation.
[SACDRV]: Add macro for pool allocation.
[SACDRV]: Misc fixes.

svn path=/trunk/; revision=52554
2011-07-07 12:02:32 +00:00
Cameron Gutman 6f052257ab [MSAFD]
- Let WSPRecv handle WSPRecvFrom on a non-datagram socket (mswsock_new does this)
- Fixes recvfrom on connection-oriented sockets

svn path=/trunk/; revision=52553
2011-07-07 11:40:25 +00:00
Cameron Gutman 14f58265d2 [AFD]
- Rewrite user-mode send IRP handling so send errors get returned to the user properly
- Fixes OskitTCP: ESHUTDOWN/EPIPE debug log spam when a chargen telnet session is terminated by the remote side

svn path=/trunk/; revision=52552
2011-07-07 00:29:30 +00:00
Timo Kreuzer d7d9b7ec6c [RPCRT4]
Fix MSVC version of call_server_func

svn path=/trunk/; revision=52551
2011-07-07 00:21:41 +00:00
Timo Kreuzer b92c0d9f52 [NTOSKRNL]
- Fix completely broken code to detect invalid MSR access in KiTrap0DHandler
- Fix MSVC warnings

svn path=/trunk/; revision=52548
2011-07-06 18:23:04 +00:00
Timo Kreuzer 9659a39678 [NPFS]
Fix 2nd stage pool corruption.
CCBs are organized in a linked list in the corresponding Fcb, which is protected by Fcb->CcbListLock. They are also linked together server <-> client. This way they can be referenced without holding the lock. This lead to a race condition where a CCB's link was modified after the CCB was deleted. Fix this by using a reference counter and adding appropriate functions. Also make use of pool tags.

svn path=/trunk/; revision=52547
2011-07-06 18:14:42 +00:00
Rafal Harabien f6630535f2 [CDFS][FASTFAT][NPFS]
- Fix MSVC warnings

svn path=/trunk/; revision=52546
2011-07-05 13:55:39 +00:00
Rafal Harabien 2750bc8ed5 [MSAFD]
- Fix MSVC warning

svn path=/trunk/; revision=52545
2011-07-05 12:21:17 +00:00
Cameron Gutman d9a64c3019 [USETUP]
- Remove formatting and partitioning hacks which are unnecessary after fixing the invalid signature bug in the FAT formatting code

svn path=/trunk/; revision=52540
2011-07-04 19:39:34 +00:00
Cameron Gutman 4e5a783a2f [AFD]
- Move the TdiReceiveDatagram call to WarmSocketForBind like it is done for connects

svn path=/trunk/; revision=52539
2011-07-04 19:13:45 +00:00
Cameron Gutman 54f9acbf0d [AFD]
- Add support for AFD_INFO_INLINING_MODE
- Add support for setting AFD_INFO_RECEIVE_WINDOW_SIZE and AFD_INFO_SEND_WINDOW_SIZE
- None of this is used by our current msafd but mswsock_new uses it

svn path=/trunk/; revision=52538
2011-07-04 18:07:55 +00:00
Cameron Gutman 0e8f87ff82 [MSAFD/AFD]
- Pass the non-blocking information as a boolean (mswsock_new does this too)
[AFD]
- Don't block waiting for a connection to accept on a non-blocking listener

svn path=/trunk/; revision=52537
2011-07-04 17:37:45 +00:00
Timo Kreuzer c19f9ab75c [RTL]
- Fix RtlFindSetBits to search for bits before the HintIndex as well
- Remove a wrong (and commented out) ASSERT
- Fix MSVC warnings

svn path=/trunk/; revision=52536
2011-07-04 16:30:45 +00:00
Timo Kreuzer f3a297daba [NTOSKRNL]
- Initialize an uninitialized variable
- MI_GET_NEXT_COLOR() doesn't have an argument
- Fix a warning on MSVC

svn path=/trunk/; revision=52535
2011-07-04 16:26:52 +00:00
Cameron Gutman fd6bb26299 - Small fix for my last commit to prevent problems if ExAllocatePool fails
svn path=/trunk/; revision=52534
2011-07-04 15:45:58 +00:00
Cameron Gutman 72fe2efcf8 [AFD]
- Fix FIONREAD for datagram sockets

svn path=/trunk/; revision=52533
2011-07-04 15:35:16 +00:00
Cameron Gutman 00651a94cd [AFD]
- Fix a check so FIONREAD works for accepted sockets too

svn path=/trunk/; revision=52532
2011-07-04 00:30:04 +00:00
Rafal Harabien 47e38dc163 - Fix build
svn path=/trunk/; revision=52531
2011-07-03 23:32:00 +00:00
Rafal Harabien 260631bc82 [NORMALIZ]
- Remove .def file - we already have spec2def

svn path=/trunk/; revision=52530
2011-07-03 23:25:59 +00:00
Claudiu Mihail 139e851adb [TESTS]
- Commit ReactOS binaries for previous two source files as well

svn path=/branches/GSoC_2011/TcpIpDriver/; revision=52529
2011-07-03 23:24:20 +00:00
Rafal Harabien 0750da242d - Remove breakpoint added by mistake to FreeLdr
svn path=/trunk/; revision=52528
2011-07-03 23:19:59 +00:00
Rafal Harabien 9c60ad5c59 [FREELDR]
- Remove debug prints added in previous commit...

svn path=/trunk/; revision=52527
2011-07-03 23:13:09 +00:00
Rafal Harabien 8d25697873 [FREELDR]
- Fix all MSVC warnings

svn path=/trunk/; revision=52526
2011-07-03 23:01:39 +00:00
Claudiu Mihail 788969f56f [TESTS]
- commit 2 very small and simple test apps to check select functionality

svn path=/branches/GSoC_2011/TcpIpDriver/; revision=52525
2011-07-03 22:54:55 +00:00
Hervé Poussineau 56f5c1f824 [LDR] In case of unrecoverable failure, always exit
svn path=/trunk/; revision=52524
2011-07-03 21:34:52 +00:00
Hervé Poussineau efd1266b5b [LDR] Assume that lock is held only if lock method succeeded
svn path=/trunk/; revision=52523
2011-07-03 21:33:42 +00:00
Cameron Gutman 7056e2e757 [LDR]
- "Just to be sure" is no reason to overwrite a potential DLL load failure status

svn path=/trunk/; revision=52522
2011-07-03 20:16:12 +00:00