Commit graph

27 commits

Author SHA1 Message Date
Art Yerkes 4b9274519b Patch by Cameron Gutman (aicommander (at) gmail (dot) com)
- Remove a hack related to cancellation
- Make sure not to pass on a bad IRP on failure (in tdi)
- Remember connect irp
* Note: commit notes are arty's in this case

svn path=/trunk/; revision=34943
2008-07-30 06:05:20 +00:00
Art Yerkes d006ec695e Patch by Cameron Gutman (aicommander (at) gmail (dot) com)
- Remove a hack from DispTdiSendDatagram
- Fix a couple of bugs that resulted in clearing the wrong request

svn path=/trunk/; revision=34938
2008-07-29 21:52:09 +00:00
Art Yerkes 861184aa18 Patch by Cameron Gutman (aicommander <at> gmail <dot> com)
- Forgot to remove UnlockRequest in last patch

svn path=/trunk/; revision=34624
2008-07-21 05:44:10 +00:00
Art Yerkes 5ba974a93f Patch by Cameron Gutman (aicommander <at> gmail <dot> com)
- Fixes some issues with releasing locks
- Verify that we have an MDL before trying to unlock it

svn path=/trunk/; revision=34600
2008-07-20 04:33:53 +00:00
Art Yerkes ecdd55845d Patch by Cameron Gutman (aicommander <at> gmail <dot> com)
- Don't mess with cancelled IRPs
- Don't attempt to cancel an already cancelled IRP
- Unmap MDL when then IRP gets completed

svn path=/trunk/; revision=34567
2008-07-17 19:42:26 +00:00
Art Yerkes 4cca77780c Move completion out of the spinlock. Spotted by aicom
svn path=/trunk/; revision=34361
2008-07-08 03:01:56 +00:00
Colin Finck c91fecf968 - Add a test suite for ws2_32.dll
It currently tests the features I needed to adjust/implement when fixing the wininet problem.
  ReactOS currently passes all tests, but fails one if you launch the test app for the second time quickly after the first time (timing problem in the network code?).
- Fix the behaviour on an ioctlsocket FIONREAD call: The output buffer is not touched, when we have no socket, but when we have no connection, it is set to 0.
- Forward the socket call to WSASocketW instead of WSASocketA, minimal performance improvement

svn path=/trunk/; revision=33824
2008-06-01 22:08:45 +00:00
Colin Finck c446f5ff58 Implement support for FIONREAD in WSPIoctl. (hope I did it properly)
It works correctly with the wininet I'll commit later and a test app I wrote myself.

svn path=/trunk/; revision=33787
2008-05-31 12:53:55 +00:00
Colin Finck 923017639c Implement support for MSG_PEEK.
Patch by Art Yerkes with small fix by me to make it working correctly. (verified with a test app)

svn path=/trunk/; revision=33786
2008-05-31 12:51:22 +00:00
Art Yerkes 011800f50d Mostly revert my earlier attempt at fixing IRP cancellation. I'll attack it
again later.

svn path=/trunk/; revision=30701
2007-11-23 18:06:07 +00:00
Art Yerkes 06220aab9e tcpip:
Factor out common datagram receive code.
Actually implement datagram cancellation.

afd:
Reorganize IRP cancellation and simplify socket shutdown.
Fix datagram recv with no address differently (and better).

Overall: fix hang after ping.

svn path=/trunk/; revision=30693
2007-11-23 13:52:56 +00:00
Art Yerkes 95dd7ac0b9 Fix prefast errors (submitted by Christoph Von Wittich)
1 Function was unused.
lock.c: Add missing null check.

svn path=/trunk/; revision=30671
2007-11-22 12:10:08 +00:00
Art Yerkes d399d73f7a Handle recvfrom with no address buffer.
svn path=/trunk/; revision=30369
2007-11-11 22:28:39 +00:00
Art Yerkes 1b2108aee2 Properly handle access violation copying from userland.
svn path=/trunk/; revision=30368
2007-11-11 22:21:37 +00:00
Hervé Poussineau aabdae9d56 No need to define __USE_W32API
svn path=/trunk/; revision=29815
2007-10-23 08:12:28 +00:00
Daniel Reimer ae7da04787 Delete all Trailing spaces in code.
svn path=/trunk/; revision=29690
2007-10-19 23:21:45 +00:00
Aleksey Bragin db598dfdbb - Don't try to free a pointer if it was not allocated.
svn path=/trunk/; revision=29456
2007-10-08 12:37:44 +00:00
Hervé Poussineau d0f1fadb7b Never call TdiCloseDevice when warming up a socket
svn path=/trunk/; revision=29174
2007-09-24 08:39:23 +00:00
Hervé Poussineau 4b912ebbbc Clean up .rbuild files and make them xml compliant
Inspired by bug 2627

svn path=/trunk/; revision=29036
2007-09-14 17:07:53 +00:00
Aleksey Bragin 277f2718d0 - Firstly mark the IRP as pending, and only then release the lock (otherwise IRP is firstly completed/freed, and then tried to be marked as pending). This makes FireFox 1.5 working again.
- NULLify handle in case of TdiOpenDevice() failure.

svn path=/trunk/; revision=27615
2007-07-12 12:38:25 +00:00
Aleksey Bragin 182dd09c91 - Fix an unshielded "return" inside a PSEH block.
svn path=/trunk/; revision=26652
2007-05-08 09:01:39 +00:00
Alex Ionescu 05d2982786 - Revert 26244, 26245, 26246, 26247.
- Stop committing on crack.
- Read IRC logs and use your head.
- GCC 3.4.5 is buggy, don't use. Don't break good code to hide compiler bugs.

svn path=/trunk/; revision=26248
2007-04-02 15:08:54 +00:00
Magnus Olsen 550b42f6d2 fixing the build for gcc 3.4.5
svn path=/trunk/; revision=26244
2007-04-02 08:58:34 +00:00
KJK::Hyperion 643b171651 !!! ATTENTION EVERYONE - do a make clean after getting this revision !!!
!!! ATTENTION PSEH USERS - new features & a change in rules !!!

modified   include/reactos/libs/pseh/framebased.h
modified   include/reactos/libs/pseh/framebased/internal.h
deleted    include/reactos/libs/pseh/setjmp.h
modified   lib/pseh/framebased.c
deleted    lib/pseh/i386/setjmp.asm
modified   lib/pseh/pseh.rbuild
   Big PSEH revamp. If God is kind and merciful, this might be the last revision to PSEH ever
   !!! RULE CHANGE !!! Obsoleted _SEH_NO_NATIVE_NLG, do NOT use it anymore, it will now cause fatal compile-time errors
   !!! RULE CHANGE !!! As a side effect to the fix for a bug where a _SEH_TRY nested in a _SEH_HANDLE would lead to stack corruption, using "return" or "goto" from anywhere inside a PSEH block is now FORBIDDEN; all code that already did has been fixed in this revision
   !!! NEW FEATURE !!! To leave a PSEH block from anywhere inside it, use the new _SEH_YIELD(<statement>) macro; examples: _SEH_YIELD(return value), _SEH_YIELD(goto label), _SEH_YIELD(returnvalue = value; goto label); ALWAYS ensure a _SEH_YIELD() leads outside the top-level _SEH_TRY block - do NOT goto into an ancestor _SEH_TRY block!!! Also note that _SEH_YIELD() disables SEH protection for the enclosed statement, so do NOT perform operations that might throw exceptions inside a _SEH_YIELD(); finally, ensure the enclosed statement does NOT allow execution to continue, or _SEH_YIELD() will get in an infinite loop; bear with me, for I have done the impossible, so don't expect miracles
   Don't use a fake setjmp/longjmp *ever*, too dangerous; removed _SEHLongJmp & _SEHSetJmp, obsoleted _SEH_NO_NATIVE_NLG
   On GCC, use __builtin_setjmp/__builtin_longjmp instead of setjmp/longjmp; they produce efficient code that plays well with optimizations, require no external library and are designed specifically for exception handling; should result in faster code and no hidden bugs
   Use inline code to enter/leave trylevels; yields much better binary code
   Inline handlers inside _SEH_PortableFrame_t instead of pointing to them; yields better code for the most common usages
   Turn all top-level statements generated by macros from bare scopes into for loops, to ensure they are used correctly as stand-alone statements
   Removed bitrotten old syntax, because it wasn't being used nor maintained

modified   dll/3rdparty/freetype/freetype.rbuild
modified   dll/win32/kernel32/kernel32.rbuild
modified   drivers/network/tcpip/tcpip.rbuild
modified   lib/drivers/ip/ip.rbuild
modified   lib/rtl/rtl.rbuild
modified   ntoskrnl/ntoskrnl.rbuild
modified   subsystems/win32/win32k/win32k.rbuild
   Removed obsolete _SEH_NO_NATIVE_NLG define

modified   drivers/network/afd/afd/lock.c
modified   drivers/network/afd/afd/tdi.c
modified   subsystems/csr/csrsrv/api.c
modified   subsystems/win32/win32k/ntuser/clipboard.c
modified   subsystems/win32/win32k/ntuser/window.c
   Use the new _SEH_YIELD macro to return/goto from SEH blocks

modified   tools/rbuild/backend/mingw/modulehandler.cpp
modified   tools/rbuild/backend/mingw/modulehandler.h
modified   tools/rbuild/module.cpp
modified   tools/rbuild/project.dtd
modified   tools/rbuild/rbuild.h
   Don't use the obsolete _SEH_NO_NATIVE_NLG flag anymore
   Only add underscores to imported symbols when module is marked underscoresymbols="true"; fixes debugsup and, indirectly, PSEH tracing

modified   lib/3rdparty/mingw/mingw.rbuild
   Build with underscoresymbols="true"

svn path=/trunk/; revision=26224
2007-04-01 00:07:25 +00:00
Art Yerkes a93d77a47f Change remaining .xml build files to .rbuild and fixup links.
svn path=/trunk/; revision=21147
2006-02-18 19:21:01 +00:00
Maarten Bosma ccadf3b1b5 fix the build
svn path=/trunk/; revision=21140
2006-02-18 13:19:40 +00:00
Maarten Bosma d1c43ae00b rename net to network
svn path=/trunk/; revision=21067
2006-02-17 12:30:29 +00:00