- 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
- Let WSPSend handle WSPSendTo on a non-datagram socket (mswsock_new does this)
- Fixes sendto on connection-oriented sockets
svn path=/trunk/; revision=52560
- 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
- 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
- Let WSPRecv handle WSPRecvFrom on a non-datagram socket (mswsock_new does this)
- Fixes recvfrom on connection-oriented sockets
svn path=/trunk/; revision=52553
- 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
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
- Remove formatting and partitioning hacks which are unnecessary after fixing the invalid signature bug in the FAT formatting code
svn path=/trunk/; revision=52540
- 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
- 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
- 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
- Fix KdComponentTableSize
- Make assembly instruction in KiCallUserMode MASM compatible
- silence some KD internal debug prints
The MSVC bootcd boots to desktop, but crashes with BAD_POOL_HEADER before 2nd stage setup starts.
svn path=/trunk/; revision=52513
- Only wait to bind to a port if INADDR_ANY is specified
- Fixes EADDRNOTAVAIL when running Firefox and ws2_32_winetest sock (which now gets further but still doesn't complete)
svn path=/trunk/; revision=52511
- We really do need to count the outstanding send IRP in our pending send count (with a detailed explanation of the reason included in the code)
- Wait on an outstanding send IRP to dispatch the disconnect
- When we receive a FIN from the other side and our receive comes back with 0 data, only close receiving on the socket because sending is still legal in this state
- Fixes many bugs on the ws2_32_winetest sock and likely lots of other partial disconnect related stuff
- Retest network related hanging bugs after this please (ftp dir hang is fixed)
svn path=/trunk/; revision=52510
Fix KiConvertToGuiThread on MSVC builds, by using a raw assembly function instead of a (broken) inline asembly function
MSVC built kernel boots further now.
svn path=/trunk/; revision=52509
- Change an ASSERT to a KeBugCheck, since the assertion can fail for any invalid memory access and this is not an internal Mm failure.
- Remove 2 cases, that "Should NEVER happen on ARM3!!!", but can very well happen.
- Do NOT make the code cleaner, by releasing the PFN lock in the same function that acquires it, but keep it 2 functions down. This is because it *SHOULD* be that way, since some internal undocumented functions, that we do not implement but that are (theoretically) called from here, also do release the PFN lock. Thanks Alex for explaining this.
svn path=/trunk/; revision=52507