I double checked, but in case someone's recent commit is somehow overwritten -- please, don't be very frustrated :) -- I will fix it, just drop me a note.
svn path=/trunk/; revision=7338
This shouldn't directly affect anything for normal (non-W32API) builds. A more detailed change log will be sent to the ros-kernel mailing list shortly.
svn path=/trunk/; revision=5461
- replaced DWORD with ULONG in a couple of places
- replaced some ULONGs with LONGs in the KD GDB stub
- replaced INITIAL_TEB with USER_STACK, as per Nebbet's book, to support both fixed size and expandable stacks
- added InterlockedExchangePointer
- added the ASM_BREAKPOINT macro as the architecture-dependent assembler code to raise a breakpoint exception
- corrected definitions of INT, LONG, DWORD, UINT, ULONG and ULONG32
- corrected IoSetCancelRoutine to use InterlockedExchangePointer
- corrected definition of NtCurrentTeb and NtCurrentPeb
- corrected DbgBreakPoint and DbgUserBreakPoint not to set up a stack frame (temporary fix with inline assembler - why doesn't GCC understand __declspec(naked)?)
- corrected various calls to Interlocked* functions to cast OUT operands to LONG *
- corrected various printf format strings
- corrected DbgUiIssueRemoteBreakin to use the smallest possible stack (this is what started everything)
- removed a DPRINT that accessed pageable memory at non-PASSIVE_LEVEL IRQL
- beautified CreateProcessA (another temporary fix - all the new functions will be isolated in the upcoming stand-alone RTL)
- prefixed LdrInitializeThunk with a nop that can be overwritten with a breakpoint for debugging purposes (temporary debugging aid until we have user-mode debugger support). Will add support for this to the breakin utility soon
- thread creation code rewritten from scratch (some glitches documented inline, but works fine)
- thread creation code now duplicated just twice, as opposed to five times (temporary fix - three new, non standard functions have been exported from NTDLL.DLL, will fix later)
svn path=/trunk/; revision=4595
part of the csrss message header.
lib/kernel32/misc/console.c: WriteConsole: Use the same meanings for the
Length argument to CsrClientCallServer as all other callers.
lib/kernel32/misc/console.c: WriteConsoleOutput: Break up long requests
(not very efficently).
lib/ntdll/csr/lpc.c: CsrClientCallServer: Fill out DataSize and
MessageSize correctly.
lib/kernel32/misc/dllmain.c: DllMain: Die if we can't connect to csrss.
ntoskrnl/include/internal/ntoskrnl.c: Increase size of non-paged pool
ntoskrnl/ke/i386/exp.c: On double fault print loops in the stack trace
only once.
ntoskrnl/ke/i386/usertrap.c: Corrected checking in stack trace.
ntoskrnl/lpc/send.c: NtRequestWaitReplyPort: Check message consistency and
copy in safely.
ntoskrnl/mm/aspace.c: MmLockAddressSpace: Don't bother locking if we are
the only thread running.
ntoskrnl/mm/kmap.c: Implementing support functions for whole page
allocation.
ntoskrnl/mm/npool.c: Implementing allocation mode where every block is
allocated in a whole page and placed against the end so writes beyond the
allocated portion are caught immediately.
svn path=/trunk/; revision=2393
event. When using the event, if multiple messages were queued to the port
at once, the client would only get the first one, and then block rather than
read the next message.
I think that the port object should have a DISPATCHER_HEADER to make it a
full blown dispatcher object, allowing clients to wait on the port object.
svn path=/trunk/; revision=2003
Fixes for exceptions
Remove KeAddTimeoutThread
Beginnings of debug handling
Fixes for contiguous memory allocation
Cancel the thread timer before termination
svn path=/trunk/; revision=1709