Zebediah Figura
c0ce83371b
ntoskrnl: Use YieldProcessor().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-21 20:46:13 +01:00
Zhennan Cai
2ad09b0167
ntoskrnl.exe: Fix a reversed spin lock loop condition.
...
Signed-off-by: Zhennan Cai <zhennan5991@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 22:18:21 +01:00
Derek Lesho
c2a32a3a3c
ntoskrnl.exe: Add stubs for Ke(/Test)AlertThread.
...
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-04 20:22:38 +02:00
Derek Lesho
2a578eaeb6
ntoskrnl.exe: Implement KeInitializeApc.
...
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-04 20:22:38 +02:00
Derek Lesho
72540c9301
ntoskrnl.exe: Implement KeReadStateEvent.
...
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-04 20:22:38 +02:00
Paul Gofman
a4a903f97a
ntoskrnl.exe: Support DPCs with timers.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-28 20:18:32 +02:00
Paul Gofman
6cb3588969
ntoskrnl.exe: Cancel active timer before setting it.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-28 20:18:32 +02:00
Paul Gofman
4584ffadda
ntoskrnl.exe: Avoid leaking events on multipe KeSetTimerEx() calls.
...
As the consequent testing shows we can't just close the events on timer
reset. That would result in wrong wait results for current waiters.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-28 20:18:32 +02:00
Paul Gofman
68a03b6393
ntoskrnl.exe: Reimplement KeSetTimerEx() on top of thread pool.
...
This is needed to call the DPC callbacks later as SetWaitableTimer()
will call the callback only when the thread is in alertable
wait state.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-28 20:18:32 +02:00
Paul Gofman
ba98574207
ntoskrnl.exe: Add KeSetTimer() function.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-28 20:18:32 +02:00
Zebediah Figura
993c833cf4
ntoskrnl.exe: Remove a superfluous condition.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-29 08:26:30 +01:00
Zebediah Figura
59f72d87c5
ntoskrnl.exe: Don't signal the remove lock event unless the lock is in the removed state.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-21 09:33:51 +02:00
Zebediah Figura
83493a72bc
ntoskrnl.exe: Use a manual-reset event for remove locks.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-21 09:33:49 +02:00
Zebediah Figura
c0b05a2c74
ntoskrnl.exe: Implement IoReleaseRemoveLockAndWaitEx().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-20 09:10:17 +02:00
Zebediah Figura
9d899c753a
ntoskrnl.exe: Implement IoReleaseRemoveLockEx().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-20 09:10:15 +02:00
Zebediah Figura
2a92951769
ntoskrnl.exe: Implement IoAcquireRemoveLockEx().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-20 09:10:11 +02:00
Zebediah Figura
afe444f75a
ntoskrnl.exe: Implement IoInitializeRemoveLockEx().
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47623
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-20 09:10:08 +02:00
Alexandre Julliard
a1cdcc5290
ntoskrnl: Build with msvcrt.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-17 09:28:35 +02:00
Michael Stefaniuc
94e958c61a
ntoskrnl: Add a macro to declare a static CRITICAL_SECTION.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-27 14:40:35 +02:00
Jacek Caban
ed140a7ac5
ntoskrnl.exe: Implement ExAcquireFastMutex and ExReleaseFastMutex.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47044
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-16 20:54:23 +02:00
Alexandre Julliard
10584d2057
include: Use the __fastcall attribute directly for the Windows build.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-16 14:07:15 +02:00
Alexandre Julliard
d5a372abbb
include: Move inline assembly definitions to a new wine/asm.h header.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-14 13:45:07 +02:00
Jacek Caban
332035fb94
ntoskrnl.exe: Use ObOpenObjectByPointer to get handle for kernel object.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-30 20:09:28 +02:00
Gijs Vermeulen
7d32c24c4a
ntoskrnl.exe: Add Ex[p]InterlockedFlushSList.
...
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-15 21:33:07 +02:00
Zebediah Figura
ab22796ab0
ntoskrnl.exe: Implement ExIsResourceAcquiredSharedLite().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-10 18:53:02 +02:00
Zebediah Figura
37640f3269
ntoskrnl.exe: Implement ExIsResourceAcquiredExclusiveLite().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-10 18:52:57 +02:00
Zebediah Figura
01566351fa
ntoskrnl.exe: Implement ExGetSharedWaiterCount().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-10 18:52:53 +02:00
Zebediah Figura
631473ffd9
ntoskrnl.exe: Implement ExGetExclusiveWaiterCount().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-10 18:52:48 +02:00
Zebediah Figura
5698bb29a3
ntoskrnl.exe: Implement ExDeleteResourceLite().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-09 15:46:03 +02:00
Zebediah Figura
aeed70689c
ntoskrnl.exe: Implement ExReleaseResourceLite().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-09 15:46:03 +02:00
Zebediah Figura
9dfa9f6b26
ntoskrnl.exe: Implement ExReleaseResourceForThreadLite().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-09 15:46:03 +02:00
Zebediah Figura
b13a00f82b
ntoskrnl.exe: Implement ExAcquireSharedWaitForExclusive().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-09 15:46:03 +02:00
Zebediah Figura
f0499323d8
ntoskrnl.exe: Implement ExAcquireSharedStarveExclusive().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-09 15:46:03 +02:00
Zebediah Figura
dcfc7ab165
ntoskrnl.exe: Implement ExAcquireResourceSharedLite().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-09 15:46:03 +02:00
Zebediah Figura
257c56f5f3
ntoskrnl.exe: Implement ExAcquireResourceExclusiveLite().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-09 15:46:03 +02:00
Zebediah Figura
1304b4c71b
ntoskrnl.exe: Implement ExInitializeResourceLite().
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45819
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-09 15:46:03 +02:00
Jacek Caban
fd8bc0c16d
ntoskrnl.exe: Implement IoCreateSynchronizationEvent.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46804
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-05 22:16:31 +02:00
Jacek Caban
b9c621856f
ntoskrnl.exe: Support event functions on kernel objects.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-26 14:01:45 +01:00
Jacek Caban
f57a383d09
ntoskrnl.exe: Support waiting on kernel objects.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-26 13:59:04 +01:00
Jacek Caban
0decadd62a
ntoskrnl.exe: Support creating event objects from server handle.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-26 13:59:04 +01:00
Alexandre Julliard
556bc03758
ntoskrnl.exe: Specify fastcall entry points using the appropriate spec file flag.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-28 21:37:29 +01:00
Jacek Caban
38eebddc1d
ntoskrnl.exe: Export object type values.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-26 15:01:01 +01:00
Jacek Caban
2401d86f68
ntoskrnl.exe: Properly export *SList functions on win64.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45820
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-05 10:20:59 +01:00
Zebediah Figura
14c6d8c751
ntoskrnl.exe: Avoid accessing fields of sync objects outside of the sync CS.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-30 18:33:58 +01:00
Zebediah Figura
e3856fd630
ntoskrnl.exe: Implement APC-level fast mutex functions.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-30 18:33:35 +01:00
Zebediah Figura
10dcc10a55
ntoskrnl.exe: Implement plain queued spinlock functions on top of DPC-level ones.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-29 17:12:13 +01:00
Zebediah Figura
c3c2a4f697
ntoskrnl.exe: Implement DPC-level queued spinlock functions.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-29 17:12:13 +01:00
Zebediah Figura
05f5cce6c8
ntoskrnl.exe: Implement plain spinlock functions on top of DPC-level ones.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-28 18:35:45 +01:00
Zebediah Figura
da4291dfc5
ntoskrnl.exe: Implement KeAcquireSpinLockAtDpcLevel().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-28 18:35:45 +01:00
Zebediah Figura
a1dfdfaf22
ntoskrnl.exe: Implement KeReleaseSpinLockFromDpcLevel().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-28 18:35:45 +01:00