Commit graph

19235 commits

Author SHA1 Message Date
Thomas Bluemel 431acd850f Fixed uninitialized variable warning with GCC4
svn path=/trunk/; revision=20593
2006-01-05 22:24:28 +00:00
Brandon Turner 1155cf884a en.rc not En.rc
svn path=/trunk/; revision=20592
2006-01-05 22:18:31 +00:00
Alex Ionescu 22916bde5f - God is a second-hand imitation of Gé. Fix for bug 1213.
svn path=/trunk/; revision=20591
2006-01-05 21:49:49 +00:00
Maarten Bosma 6de3d3ca11 Different output for !bug command on the other channels. (#winehackers, #samba-technical)
svn path=/trunk/; revision=20590
2006-01-05 21:46:24 +00:00
Ged Murphy 8218812468 Fix ugly toolbar colour
svn path=/trunk/; revision=20588
2006-01-05 20:57:29 +00:00
Ged Murphy e90331cf71 - Fix local xml file (thanks to Christoph for spotting this)
- Add to dir the build

svn path=/trunk/; revision=20587
2006-01-05 20:13:06 +00:00
Ged Murphy 34e46abf35 - Start to put together a services.msc equivalent.
- mmc.exe is probably a long way off, thus mmc snap-ins will be too. This will suffice until then. Most of the code should be transferable.

svn path=/trunk/; revision=20586
2006-01-05 18:04:46 +00:00
Maarten Bosma a61ec9018b Add !error command which checks NtStatus, Winerror and hResult.
svn path=/trunk/; revision=20585
2006-01-05 17:52:39 +00:00
Royce Mitchell III 9edfccb5e4 fix build in unspecified build environment - patch by Reuben Perelman <reub2000@earthlink.net>
svn path=/trunk/; revision=20584
2006-01-05 16:35:08 +00:00
Royce Mitchell III cfbb45181b fix msvc6 warnings
svn path=/trunk/; revision=20583
2006-01-05 16:32:49 +00:00
Alex Ionescu c1cfa41da9 - Tabs not spaces.
svn path=/trunk/; revision=20582
2006-01-05 16:30:20 +00:00
Alex Ionescu ac8dc76322 - Uncondtionally build with optimizations (can still be disabled by commenting out the block locally; is this easy enough Ge?)
svn path=/trunk/; revision=20581
2006-01-05 16:25:44 +00:00
Alex Ionescu 300da88aff - New ERESOURCE implementation: fixes the return value of some functions (VOID vs NTSTATUS, USHORT vs ULONG), as well as optimized the code loops and general structure of the code. Additionnaly, functions do not simply call other functions with similar names; the exact implementation of each function has now been properly separated (see the DDK for more information on this) to have the most optimized scenarios.
- Also, the spinlock is not actually acquired on non-SMP builds; instead, interrupts are blocked and unblocked for acquire/release, this optimizes locking.
- Added many asserts and bugcheck scenarios.
- Added thread priority boosting.
- Added some debugging helpers and deadlock detection.
- Added RESOURCE_NOT_OWNED bugcehck message.
* Thanks again to Waxdragon (Andrew) for testing this build.

svn path=/trunk/; revision=20580
2006-01-05 16:24:32 +00:00
Alex Ionescu 444bb36f82 - Change dispatcher lock release to be more like documented in Windows Internals II and to allow an easier move to Queued Spinlock.
svn path=/trunk/; revision=20579
2006-01-05 15:32:08 +00:00
Casper Hornstrup f881f51fdf Identify TechBot to allow private messages
svn path=/trunk/; revision=20578
2006-01-05 15:29:08 +00:00
Alex Ionescu 6f136848b2 - Fix build.
svn path=/trunk/; revision=20577
2006-01-05 15:17:54 +00:00
Alex Ionescu 8ca886843a - Disable commented out define-check which i had only commented to check building.
svn path=/trunk/; revision=20576
2006-01-05 13:59:11 +00:00
Alex Ionescu 93d0b2ac85 - Separate UP and MP spinlock functions.
- Optimize UP spinlock functions so they don't call ntoskrnl anymore and only raise/lower irql.
- Implemented Queued Spinlocks and In-Stack Queued Spinlocks for UP machines.
* Implemented KeAcquireInStackQueuedSpinLock, KeReleaseInStackQueuedSpinLock, KeAcquireQueuedSpinLock, KeReleaseQueuedSpinLock, KeTryToAcquireQueuedSpinLock, KeTryToAcquireQueuedSpinLockRaiseToSynch, KeAcquireQueuedSpinLockRaisetoSynch.

svn path=/trunk/; revision=20575
2006-01-05 13:51:06 +00:00
Hervé Poussineau ca735d261c Add some exports to ntdll
svn path=/trunk/; revision=20574
2006-01-05 13:40:05 +00:00
Alex Ionescu 5bba25c90e - Implemented Queued and In-Stack Queued Spinlocks (at DPC-Level). See "Windows Internals II" Chapter 4, Pages 25-27.
svn path=/trunk/; revision=20573
2006-01-05 13:12:48 +00:00
Hartmut Birr 4c4d352a5e KefReleaseSpinLockFromDpcLevel needs the address of a spinlock and not its value.
svn path=/trunk/; revision=20572
2006-01-05 12:48:33 +00:00
Hervé Poussineau b71ffe4703 Add prototypes for Nt/ZwReplyWaitReceivePortEx, Nt/ZwImpersonateAnonymousToken
svn path=/trunk/; revision=20571
2006-01-05 12:27:03 +00:00
Gé van Geldorp a41bad3ee5 - Disable NtQuerySecurityObject for now
- Add some registry entries for TinyWeb (patch by Dr.Fred)
Fixes 1214

svn path=/trunk/; revision=20570
2006-01-05 09:22:09 +00:00
Alex Ionescu caa14fa66e Fix stack corruption. Thanks to Waxdragon and the fact he uses an -O2 build (hint hint nudge nudge)
svn path=/trunk/; revision=20569
2006-01-05 06:24:07 +00:00
Alex Ionescu 5e6fa26231 - Optimized the dispatcher lock. It is now gone on non-SMP systems and IRQL is raised or lowered instead.
- Made inlined functions in ke/wait.c macros, because they weren't being inlined.
- Created separate cases for satisfying mutant, non-mutant and generic objects, to optimize wait satisfaction.
- Fixed some places which werne't setting the dispatcher header's size member correctly.
- Fixed formatting in ke/wait.c
- Fixed a case in KiCheckAlertability: we also need to check if the thread is alerted in Kernel-Mode, even if the wait mode given was user and user-mode is not alerted.
- Fixed signaling checks across the wait code and removed KiCheckIfObjectSignaled. We must not consider the mutant as signaled if SignalState is = 1.
- Fix code to check if the wait blocks' status is STATUS_TIMEOUT, because we do not need to check for signal state in that case.
- Removed the exports for internal dispatcher lock routines.


** Thanks to Waxdragon for stress-testing this for an hour :)

svn path=/trunk/; revision=20568
2006-01-05 04:26:55 +00:00
Magnus Olsen f58996b3e9 fix new strechblt code for dib32, left todo dib1, dib4, dib24
svn path=/trunk/; revision=20567
2006-01-05 01:49:00 +00:00
Alex Ionescu 1ca93c8a41 - fix build on dbg=0. Thanks to Andrew
svn path=/trunk/; revision=20566
2006-01-05 00:56:44 +00:00
Gé van Geldorp afb3a84621 Avoid using uninitialized variables
svn path=/trunk/; revision=20565
2006-01-04 23:48:15 +00:00
Gé van Geldorp d31486016d Only use the Folder class handler if we're actually executing a folder.
Fixes bug 1235.

svn path=/trunk/; revision=20564
2006-01-04 23:28:10 +00:00
Gé van Geldorp 6a771b2fde Fix (so far harmless) typo
svn path=/trunk/; revision=20563
2006-01-04 22:46:45 +00:00
Gé van Geldorp 30db12dcc8 Let oskit tell us when sending should be blocked 'cause its stuffed upto its
nose with data waiting to be sent. Bug 1232.

svn path=/trunk/; revision=20562
2006-01-04 22:40:48 +00:00
Alex Ionescu d97db4ba3a - Fix worker thread priorities. A quick check of the DDK and ProcesXP confirmed that there was a bug (thanks GvG!). Turns out I had forgotten to use the -base- priority kernel call. Renamed some variables to make it clearer and fixed the bug. The correct priorities are 12, 13, 15.
svn path=/trunk/; revision=20561
2006-01-04 20:45:58 +00:00
Thomas Bluemel 450dfac672 fixed gcc4 warnings
svn path=/trunk/; revision=20560
2006-01-04 14:26:06 +00:00
James Tabor 1b8dc2e713 Clean up and fixed NtUserGetMenuItemRect. Needs more testing. I watch mplayerc swip all the menu items with crashing.
svn path=/trunk/; revision=20559
2006-01-04 06:44:52 +00:00
Ged Murphy 4ac1eae8cf - Display a temporary note in ipconfig to avoid user confusion.
- Requires fixing of GetAdaptersInfo 

svn path=/trunk/; revision=20558
2006-01-03 23:41:57 +00:00
Alex Ionescu 807dd25391 - Implement Pushlocks. Only Waking, and Exclusive Acquire/Release + Waits have been tested. The shared paths and block/unblock are still untested and may probably contain bugs. Pushlocks are not yet used in the kernel and they won't be until all paths are tested and validated.
- Public DDIs Implemented: ExfAcquirePushLockExclusive, ExfAcquirePushLockShared, ExfTryToWakePushLock, ExfReleasePushLock, ExfReleasePushLockExclusive, ExfReleasePushLockShared, ExfUnblockPushLock.

svn path=/trunk/; revision=20557
2006-01-03 23:36:05 +00:00
Alex Ionescu 53ee440af8 - More proper fix for the QEMU/Abiword regression. Remove kernel32 hack. Thanks to Filip and The Munger.
svn path=/trunk/; revision=20556
2006-01-03 22:36:36 +00:00
Alex Ionescu ce5adef908 - Dirty temporary fix to unregress abiword/qemu.
svn path=/trunk/; revision=20555
2006-01-03 22:25:09 +00:00
Alex Ionescu 07b0b865dc - Fix shamefully dangerously broken Work Thread/Queue/Item implementation:
* Do not pollute the kernel with 10 real-time threads and 5 high-priority threads in order to manage work items. Work threads are very-low priority (< 7) and should never pre-empt userthreads like they do now. 1 priority 7, 5 priority 5 and 3 priority 4 threads are now properly created.
  * Implement a worker thread balance set manager. On SMP systems, it is able to determine when a new thread should be allocate to execute on a free CPU. On both UP and MP, it is also able to detect if a work queue has deadlocked, and will allocate new dynamic threads to unfreeze the queue.
  * Add check for threads returning with APC disabled, and re-enable APCs if this happend. This hack is used in NT for broken drivers.
  * Lots of code changes to support dynamic threads, which:
    - Can terminate.
    - Use a 10 minute timeout on the kernel queue.
  * Add skeleton code for swapping worker thread stacks as well as worker thread shutdown (not yet implemented).
  * Add WORKER_INVALID bugcheck definition.
  * These changes seem to make ROS a lot more responsive.

- NDK: 
  * Make more compatible with MS IFS
  * Fix EX_WORK_QUEUE definition.
  * Fix ETHREAD offsets.
  * Fix RtlIsNameLegalDOS8Dot3 definition.
  * Move splay tree defines to IFS.

svn path=/trunk/; revision=20554
2006-01-03 21:34:19 +00:00
Aleksey Bragin 1aea3ab1ab Add kbdur.dll (Ukrainian keyboard layout) to the install-cd.
svn path=/trunk/; revision=20553
2006-01-03 21:29:39 +00:00
Ged Murphy e94e037e29 fix ugly tab formatting
svn path=/trunk/; revision=20552
2006-01-03 21:17:28 +00:00
Ged Murphy e5bdbe851f Skeleton dialog box to control system page file size
svn path=/trunk/; revision=20551
2006-01-03 21:00:06 +00:00
Magnus Olsen 7ceb46269d Commit a patch for hide and show mouse. (forget it)
svn path=/trunk/; revision=20550
2006-01-03 18:49:10 +00:00
Magnus Olsen 8b60a45ea6 forget remove some test code.
svn path=/trunk/; revision=20549
2006-01-03 17:59:56 +00:00
Magnus Olsen 3c8dbc6c23 forget remove a calc value in the for loop it can do outside the loop.
svn path=/trunk/; revision=20548
2006-01-03 17:21:11 +00:00
Magnus Olsen 0595ffc278 Remove putpixel from strechblt and add code to write direcly to the memory. it incress the speed for strechblt.
this is ony for 16bit graphice mode. 
 

svn path=/trunk/; revision=20547
2006-01-03 17:05:39 +00:00
Magnus Olsen 05d9ad7068 addding new streach code for dib8, left to add it is dib1, dib4, dib24, dib32
svn path=/trunk/; revision=20546
2006-01-03 16:22:09 +00:00
Hartmut Birr 02b247cca6 Copy the correct value if the value is stored directly in the data pointer (in CmiExportValue).
svn path=/trunk/; revision=20545
2006-01-03 14:56:47 +00:00
Hartmut Birr f0fe4ec071 Fixed the the conversion of the vendor identifier string. Sometimes, the wrong conversion has resulted in a invalid opcode exception.
svn path=/trunk/; revision=20544
2006-01-03 13:44:35 +00:00
Maarten Bosma 89db3ed74e fix typos.
svn path=/trunk/; revision=20543
2006-01-03 11:49:59 +00:00