KJK::Hyperion
4761e1228c
New branch "KJKHyperion-ntoskrnl-fixnotifs" for some yet untested changes (fixes) to the calling of thread/process creation/termination notification routines. Should be short-lived - will fold into the main trunk ASAP
...
svn path=/branches/unlabeled-1.67.12/; revision=7092
2003-12-17 01:32:47 +00:00
The ReactOS Team
c457cfff93
This commit was manufactured by cvs2svn to create branch
...
'unlabeled-1.67.12'.
svn path=/branches/unlabeled-1.67.12/; revision=6141
2003-09-25 20:09:56 +00:00
Eric Kohl
895c98c856
Replaced ObRosCreateObject() by ObCreateObject() and ObInsertObject().
...
Fixed ObCreateObject() and ObInsertObject().
svn path=/trunk/; revision=6140
2003-09-25 20:09:56 +00:00
Aleksey Bragin
e125705217
Patch by Mike Nordell: Change UserMode to KeGetCurrentProcess()->PreviousMode in calls to ObReferenceObjectByHandle() in file ps/kill.c
...
svn path=/trunk/; revision=6093
2003-09-18 17:55:21 +00:00
Hartmut Birr
9604dab6c5
- Use KeSetBasePriorityThread for changing the thread priority in NtSetInformationThread.
...
svn path=/trunk/; revision=6078
2003-09-14 10:53:32 +00:00
Hartmut Birr
6f4149e361
- Reference all returned process objects (in PsGetNextProcess).
...
- Do not fail if a process is deleted (in PsGetNextProcess).
- Change the direction of the returned process (in PsGetNextProcess).
- Check if a process is deleted in NtOpenProcess.
svn path=/trunk/; revision=6077
2003-09-14 10:52:33 +00:00
Hartmut Birr
24203ec76e
- Moved the call to ExpSwapThreadEventPair from PiDeleteThread to PsTerminateCurrentThread.
...
svn path=/trunk/; revision=6076
2003-09-14 10:50:29 +00:00
Vizzini
413af2c984
patch by Skywing: made existing eventpair code more efficient and added support for associating eventpairs with
...
threads and signaling them that way
svn path=/trunk/; revision=6031
2003-09-10 06:12:22 +00:00
Emanuele Aliberti
bd5999bd1a
NTOSKRNL PS: NtOpenThread implemented.
...
svn path=/trunk/; revision=5704
2003-08-20 15:02:53 +00:00
David Welch
f2d9fe4842
- Patch from PM implementing ldt and tss iobitmap support.
...
svn path=/trunk/; revision=5685
2003-08-19 23:59:08 +00:00
Hartmut Birr
3c9f26a7a0
- Remove all wait objects from a thread which would be deleted.
...
- Release the thread list lock after the real context switch
(some code was moved from thread.c to tskswitch.S).
- Check for the state of a thread which is blocked or unblocked,
because it is possible that there was a second thread switching.
- Fixed KeSetBasePriorityThread.
- Check for a necessary task switch after changing the thread priority in KeSetPriorityThread.
svn path=/trunk/; revision=5644
2003-08-18 11:52:31 +00:00
Hartmut Birr
14aa056fe0
- Remove all wait objects from a thread which would be deleted.
...
- Release the thread list lock after the real context switch
(some code was moved from thread.c to tskswitch.S).
- Check for the state of a thread which is blocked or unblocked,
because it is possible that there was a second thread switching.
- Fixed KeSetBasePriorityThread.
- Check for a necessary task switch after changing the thread priority in KeSetPriorityThread.
svn path=/trunk/; revision=5642
2003-08-18 11:23:32 +00:00
Hartmut Birr
a11c2e5606
- Delete a process environment in the context of a worker thread
...
if the caller does not run in the same process which would
be deleted and if KeAttachProcess was already called.
svn path=/trunk/; revision=5639
2003-08-18 10:20:57 +00:00
Eric Kohl
34572eba83
Reverted my logic changes to Mike Nordell's patch.
...
svn path=/trunk/; revision=5511
2003-08-10 20:33:05 +00:00
Eric Kohl
c6f66985bf
Additions and fix to NtQueryInformationProcess.
...
Patch by Mike Nordell.
svn path=/trunk/; revision=5418
2003-08-04 20:44:54 +00:00
David Welch
6e6bff4228
- Don't allocate/free a new callback on each callback to user mode.
...
svn path=/trunk/; revision=5230
2003-07-23 19:13:37 +00:00
Royce Mitchell III
2a438cfb48
created KEBUGCHECK, KEBUGCHECKEX, KEBUGCHECKWITHTS macros to report file/line of bugcheck. replace all direct calls of KeBugCheck, KeBugCheckEx and KeBugCheckWithTs with corresponding macros. I rebuilt from a make clean and it looks good.
...
svn path=/trunk/; revision=5213
2003-07-21 21:53:53 +00:00
David Welch
a3cf0cbc62
Checked in Petr Matousek's fixes for sending APCs to terminated threads.
...
svn path=/trunk/; revision=5210
2003-07-21 21:36:01 +00:00
Andrew Greenwood
e6d0d671b8
Win 32 API header compatibility update
...
Files that should now compile with Win 32 API headers:
* sysinfo.c
* time.c
* work.c
* zone.c
If you suddenly discover that something no longer works due to a missing struct member, it's probably because I've renamed it to match the Win 32 API headers.
svn path=/trunk/; revision=5151
2003-07-17 16:57:39 +00:00
Royce Mitchell III
59d5c9f016
finished applying @implemented and @unimplemented comments and remove the comments from non-api functions
...
svn path=/trunk/; revision=5068
2003-07-11 01:23:16 +00:00
Eric Kohl
ea01cf3f1f
Enable automatic initialization and termination of Win32 threads and processes.
...
svn path=/trunk/; revision=4933
2003-06-20 16:26:53 +00:00
Hartmut Birr
11eb72da00
- Fixed the test for context flags because the architecture flag is always set.
...
svn path=/trunk/; revision=4912
2003-06-16 19:19:30 +00:00
Gé van Geldorp
472ebde7ec
Fix NtGetContextThread() and implement NtSetContextThread()
...
svn path=/trunk/; revision=4872
2003-06-07 19:13:43 +00:00
Casper Hornstrup
685119e0cd
2003-06-07 Casper S. Hornstrup <chorns@users.sourceforge.net>
...
Changes for compiling with w32api
* include/ddk/obfuncs.h (ObCreateObject): Remove.
* include/ntos/zwtypes.h (ObRosCreateObject): Add.
* ntoskrnl/ntoskrnl.def, ntoskrnl/ntoskrnl.edf: Export ObCreateObject@36
and ObRosCreateObject@20.
* ntoskrnl/cm/ntfunc.c, ntoskrnl/cm/registry.c, ntoskrnl/cm/regobj.c,
ntoskrnl/io/create.c, ntoskrnl/io/device.c, ntoskrnl/io/iocomp.c,
ntoskrnl/lpc/connect.c, ntoskrnl/lpc/create.c, ntoskrnl/mm/section.c,
ntoskrnl/nt/evtpair.c, ntoskrnl/nt/mutant.c, ntoskrnl/nt/ntevent.c,
ntoskrnl/nt/ntsem.c, ntoskrnl/nt/nttimer.c, ntoskrnl/nt/profile.c,
ntoskrnl/ob/dirobj.c, ntoskrnl/ob/namespc.c, ntoskrnl/ob/symlink.c,
ntoskrnl/ps/create.c, ntoskrnl/ps/process.c, ntoskrnl/se/token.c,
subsys/win32k/ntuser/winsta.c: Use ObRosCreateObject, not ObCreateObject.
* ntoskrnl/ob/object.c (ObRosCreateObject): Rename from ObCreateObject.
(ObCreateObject): Add stub.
svn path=/trunk/; revision=4867
2003-06-07 12:23:14 +00:00
Gunnar Dalsnes
a988e5ab0e
-corrected protoype
...
svn path=/trunk/; revision=4848
2003-06-05 23:38:37 +00:00
Gunnar Dalsnes
9b53ffc03a
-call thread notify routines below DISPATCH_LVL
...
svn path=/trunk/; revision=4846
2003-06-05 22:45:38 +00:00
Gunnar Dalsnes
1f8cbb88a0
-call process notify routines below DISPATCH_LVL
...
-enable removal of process notify routines
svn path=/trunk/; revision=4845
2003-06-05 22:45:22 +00:00
Casper Hornstrup
f2f1a0251b
2003-06-05 Casper S. Hornstrup <chorns@users.sourceforge.net>
...
Changes for compiling with w32api
* ntoskrnl/include/internal/i386/ps.h (KPCR_TSS): Redefine as 0x3C.
(KPCR_TIB): New structure.
(IKPCR): Ditto.
(KPCR): Match w32api structure fieldnames.
* ntoskrnl/ke/main.c (ExpInitializeExecutive): Adjust for changes to KPCR.
* ntoskrnl/ke/i386/kernel.c: Ditto.
* ntoskrnl/ps/thread.c: Ditto.
svn path=/trunk/; revision=4842
2003-06-05 11:51:13 +00:00
Hartmut Birr
01a3fd2a8b
- Initialize TableBase in PsCreatePeb.
...
svn path=/trunk/; revision=4749
2003-05-24 17:14:41 +00:00
Eric Kohl
d043a91017
Removed unused NLS stuff.
...
Cleaned-up PEB initialization.
svn path=/trunk/; revision=4734
2003-05-21 15:06:33 +00:00
Eric Kohl
562eeb5ceb
Finished kernel-mode part of NLS section implementation.
...
svn path=/trunk/; revision=4732
2003-05-20 14:38:05 +00:00
Eric Kohl
7e921a40c1
Implemented NLS file import.
...
svn path=/trunk/; revision=4726
2003-05-19 14:39:09 +00:00
Eric Kohl
397169c1a8
Added new MEMORY_AREA_NO_ACCESS type.
...
Make the top and bottom 64KB of process memory space and the 60KB above the shared user page from unaccessible.
Introduced MmSystemRangeStart.
svn path=/trunk/; revision=4705
2003-05-17 19:16:39 +00:00
Eric Kohl
e1c437438c
Implemented Top-Down-Allocator.
...
svn path=/trunk/; revision=4704
2003-05-17 15:29:50 +00:00
Eric Kohl
389d19a1e3
Updated NLS function signature.
...
Reverted NLS section mapping because of unability to fix the section mapping code.
svn path=/trunk/; revision=4691
2003-05-16 17:38:41 +00:00
Eric Kohl
556a38e0c0
Implemented NLS section (not usable yet) and updated NLS functions.
...
svn path=/trunk/; revision=4685
2003-05-15 11:07:51 +00:00
Gé van Geldorp
8eaabc5146
Properly clean up terminated threads
...
svn path=/trunk/; revision=4633
2003-05-01 22:00:31 +00:00
Gé van Geldorp
ad70cd4bbe
Implement ThreadBasePriority case for NtSetInformationThread()
...
svn path=/trunk/; revision=4625
2003-04-30 21:56:22 +00:00
Gé van Geldorp
f0d4e3c543
Zero-initialze TEB for new threads
...
svn path=/trunk/; revision=4620
2003-04-30 15:11:31 +00:00
Aleksey Bragin
55300ebbf2
Added DbgPrint-notification for stubbed function KeSetAffinityThread()
...
svn path=/trunk/; revision=4611
2003-04-28 14:32:36 +00:00
KJK::Hyperion
879b1f5754
My biggest commit so far (everything compiles and apparently runs fine):
...
- 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
2003-04-26 23:13:33 +00:00
Aleksey Bragin
143395e386
KeSetAffinityThread stub added (returns STATUS_SUCCESS and thus VMWare network driver won't crash ReactOS)
...
svn path=/trunk/; revision=4579
2003-04-25 18:37:44 +00:00
KJK::Hyperion
5c6df46d27
- PsLookup* functions fixed to increment the reference count of the object they are about to return. The GDB KD stub is directly affected by this patch, but it hasn't been fixed yet
...
- PsGetCurrentProcess and PsGetCurrentThread are now macros calling IoGetCurrentProcess and KeGetCurrentThread, for binary compatibility with Windows
svn path=/trunk/; revision=4521
2003-04-10 23:14:47 +00:00
Gunnar Dalsnes
fc1366d624
set thread WaitReason when blocking
...
svn path=/trunk/; revision=4351
2003-03-19 23:12:41 +00:00
Hartmut Birr
25f4f4f91c
Attache the process if we are running in the context of an other process (in KdbFreeSymbols).
...
svn path=/trunk/; revision=4044
2003-01-19 01:46:33 +00:00
Gé van Geldorp
67cf4a374e
Fixed typo, Edi was not restored
...
svn path=/trunk/; revision=3888
2002-12-22 11:35:15 +00:00
Hartmut Birr
d4386d7b53
Free the user stack in PsReapThreads.
...
svn path=/trunk/; revision=3801
2002-11-27 20:54:37 +00:00
Casper Hornstrup
1d57b8f66d
2002-11-03 Casper S. Hornstrup <chorns@users.sourceforge.net>
...
* apps/tests/lpc/lpcclt.c: Change LPC_MESSAGE_HEADER to LPC_MESSAGE.
* include/csrss/csrss.h: Ditto.
* include/lsass/lsass.h: Ditto.
* include/napi/dbg.h: Ditto.
* include/napi/lpc.h: Ditto.
* lib/kernel32/misc/console.c: Ditto.
* lib/ntdll/csr/lpc.c: Ditto.
* lib/ntdll/dbg/debug.c: Ditto.
* lib/secur32/lsa.c: Ditto.
* ntoskrnl/dbg/user.c: Ditto.
* ntoskrnl/include/internal/port.h: Ditto.
* ntoskrnl/lpc/connect.c: Ditto.
* ntoskrnl/lpc/reply.c: Ditto.
* ntoskrnl/ps/process.c: Ditto.
* subsys/csrss/api/conio.c: Ditto.
* subsys/csrss/api/process.c: Ditto.
* subsys/csrss/api/user.c: Ditto.
svn path=/trunk/; revision=3692
2002-11-03 20:01:07 +00:00
Casper Hornstrup
a1e055e943
2002-10-26 Casper S. Hornstrup <chorns@users.sourceforge.net>
...
* lib/msvcrt/Makefile (OBJECTS_EXCEPT): Add except/seh.o; Remove
except/exhand3.o.
* lib/msvcrt/except/exhand2.c (MsvcrtDebug): New function.
* lib/msvcrt/except/unwind.c (PEXCEPTION_FRAME): Remove.
(_global_unwind2): Correct prototype.
* lib/ntdll/makefile (RTL_I386_OBJECTS, ARCH_OBJECTS): New groups.
(TARGET_OBJECTS): Add ARCH_OBJECTS group.
* lib/ntdll/rtl/exception.c (KiUserExceptionDispatcher): Set
NumberParameters in exception record.
(RtlRaiseStatus): Remove.
* ntoskrnl/Makefile (OBJECTS_RTL): Remove rtl/seh.o.
(OBJECTS_RTL_I386): Add rtl/i386/except.o, rtl/i386/exception.o, and
rtl/i386/seh.o.
* ntoskrnl/ke/catch.c (RtlpExecuteHandlerForException,
RtlpDumpExceptionRegistrations, RtlpDispatchException,
RtlpExecuteHandler, RtlpExceptionHandler, RtlpUnwindHandler,
RtlpExecuteHandlerForException, RtlpExecuteHandlerForUnwind,
RtlUnwind): Remove.
(RtlpDispatchException): Add prototype.
* ntoskrnl/ke/i386/usertrap.c (ExceptionTypeStrings): Remove.
* ntoskrnl/ps/create.c (PsCreateTeb): Mark end of exception
registration list.
* tools/helper.mk (TARGET_ASFLAGS): Add -g if DBG = 1.
* lib/msvcrt/except/exhand3.c: Remove.
* ntoskrnl/rtl/seh.c: Ditto.
* lib/msvcrt/except/seh.s: New file.
* lib/ntdll/rtl/i386/except.s: Ditto.
* lib/ntdll/rtl/i386/exception.c: Ditto.
* ntoskrnl/rtl/i386/except.s: Ditto.
* ntoskrnl/rtl/i386/exception.c: Ditto.
* ntoskrnl/rtl/i386/seh.s: Ditto.
svn path=/trunk/; revision=3657
2002-10-26 00:32:19 +00:00
Casper Hornstrup
1e847489e4
2002-10-01 Casper S. Hornstrup <chorns@users.sourceforge.net>
...
* drivers/dd/floppy/floppy.c: Changed PAGESIZE to PAGE_SIZE.
* drivers/fs/cdfs/fcb.c: Ditto.
* drivers/fs/cdfs/fsctl.c: Ditto.
* drivers/fs/cdfs/rw.c: Ditto.
* drivers/fs/ext2/dir.c: Ditto.
* drivers/fs/ext2/inode.c: Ditto.
* drivers/fs/ext2/rw.c: Ditto.
* drivers/fs/ext2/super.c: Ditto.
* drivers/fs/minix/blockdev.c: Ditto.
* drivers/fs/minix/cache.c: Ditto.
* drivers/fs/minix/inode.c: Ditto.
* drivers/fs/minix/rw.c: Ditto.
* drivers/fs/ntfs/fcb.c: Ditto.
* drivers/fs/ntfs/ntfs.h: Ditto.
* drivers/fs/vfat/create.c: Ditto.
* drivers/fs/vfat/direntry.c: Ditto.
* drivers/fs/vfat/dirwr.c: Ditto.
* drivers/fs/vfat/fat.c: Ditto.
* drivers/fs/vfat/fcb.c: Ditto.
* drivers/fs/vfat/fsctl.c: Ditto.
* drivers/fs/vfat/rw.c: Ditto.
* drivers/storage/class2/class2.c: Ditto.
* drivers/storage/scsiport/scsiport.c: Ditto.
* hal/halx86/adapter.c: Ditto.
* hal/halx86/mp.c: Ditto.
* include/ddk/mmfuncs.h: Ditto.
* include/ddk/mmtypes.h: Ditto.
* include/ddk/i386/pagesize.h: Ditto.
* include/ntdll/pagesize.h: Ditto.
* lib/kernel32/process/create.c: Ditto.
* lib/kernel32/thread/thread.c: Ditto.
* lib/ntdll/ldr/utils.c: Ditto.
* lib/ntdll/rtl/env.c: Ditto.
* lib/ntdll/rtl/heap.c: Ditto.
* lib/ntdll/rtl/ppb.c: Ditto.
* lib/ntdll/rtl/process.c: Ditto.
* lib/ntdll/rtl/thread.c: Ditto.
* ntoskrnl/cc/copy.c: Ditto.
* ntoskrnl/cc/view.c: Ditto.
* ntoskrnl/ex/sysinfo.c: Ditto.
* ntoskrnl/include/internal/i386/mm.h: Ditto.
* ntoskrnl/io/mdl.c: Ditto.
* ntoskrnl/ke/kthread.c: Ditto.
* ntoskrnl/ke/i386/kernel.c: Ditto.
* ntoskrnl/ldr/init.c: Ditto.
* ntoskrnl/ldr/loader.c: Ditto.
* ntoskrnl/mm/anonmem.c: Ditto.
* ntoskrnl/mm/cont.c: Ditto.
* ntoskrnl/mm/freelist.c: Ditto.
* ntoskrnl/mm/iospace.c: Ditto.
* ntoskrnl/mm/kmap.c: Ditto.
* ntoskrnl/mm/marea.c: Ditto.
* ntoskrnl/mm/mdl.c: Ditto.
* ntoskrnl/mm/mminit.c: Ditto.
* ntoskrnl/mm/ncache.c: Ditto.
* ntoskrnl/mm/npool.c: Ditto.
* ntoskrnl/mm/pagefile.c: Ditto.
* ntoskrnl/mm/pageop.c: Ditto.
* ntoskrnl/mm/section.c: Ditto.
* ntoskrnl/mm/slab.c: Ditto.
* ntoskrnl/mm/i386/page.c: Ditto.
* ntoskrnl/ob/handle.c: Ditto.
* ntoskrnl/ps/create.c: Ditto.
* ntoskrnl/ps/process.c: Ditto.
* ntoskrnl/ps/w32call.c: Ditto.
* subsys/win32k/include/object.h: Ditto.
svn path=/trunk/; revision=3594
2002-10-01 19:27:25 +00:00