Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
c212987d
Commit
c212987d
authored
Oct 30, 2022
by
Etaash Mathamsetty
Committed by
Alexandre Julliard
Nov 10, 2022
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ntoskrnl.exe: Implement KeInitializeGuardedMutex.
parent
0c24f2b8
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
30 additions
and
0 deletions
+30
-0
ntoskrnl.exe.spec
dlls/ntoskrnl.exe/ntoskrnl.exe.spec
+1
-0
sync.c
dlls/ntoskrnl.exe/sync.c
+12
-0
wdm.h
include/ddk/wdm.h
+17
-0
No files found.
dlls/ntoskrnl.exe/ntoskrnl.exe.spec
View file @
c212987d
...
...
@@ -577,6 +577,7 @@
@ stub KeInitializeInterrupt
@ stub KeInitializeMutant
@ stdcall KeInitializeMutex(ptr long)
@ stdcall KeInitializeGuardedMutex(ptr)
@ stub KeInitializeQueue
@ stdcall KeInitializeSemaphore(ptr long long)
@ stdcall KeInitializeSpinLock(ptr) NTOSKRNL_KeInitializeSpinLock
...
...
dlls/ntoskrnl.exe/sync.c
View file @
c212987d
...
...
@@ -427,6 +427,18 @@ LONG WINAPI KeReleaseMutex( PRKMUTEX mutex, BOOLEAN wait )
return
ret
;
}
/***********************************************************************
* KeInitializeGuardedMutex (NTOSKRNL.EXE.@)
*/
void
WINAPI
KeInitializeGuardedMutex
(
PKGUARDED_MUTEX
mutex
)
{
TRACE
(
"mutex %p.
\n
"
,
mutex
);
mutex
->
Count
=
FM_LOCK_BIT
;
mutex
->
Owner
=
NULL
;
mutex
->
Contention
=
0
;
KeInitializeEvent
(
&
mutex
->
Event
,
SynchronizationEvent
,
FALSE
);
}
static
void
CALLBACK
ke_timer_complete_proc
(
PTP_CALLBACK_INSTANCE
instance
,
void
*
timer_
,
PTP_TIMER
tp_timer
)
{
KTIMER
*
timer
=
timer_
;
...
...
include/ddk/wdm.h
View file @
c212987d
...
...
@@ -253,6 +253,23 @@ typedef struct _FAST_MUTEX
ULONG
OldIrql
;
}
FAST_MUTEX
,
*
PFAST_MUTEX
;
typedef
struct
_KGUARDED_MUTEX
{
LONG
Count
;
PKTHREAD
Owner
;
ULONG
Contention
;
KEVENT
Event
;
union
{
struct
{
SHORT
KernelApcDisable
;
SHORT
SpecialApcDisable
;
};
ULONG
CombinedApcDisable
;
};
}
KGUARDED_MUTEX
,
*
PKGUARDED_MUTEX
;
#define MAXIMUM_VOLUME_LABEL_LENGTH (32 * sizeof(WCHAR))
typedef
struct
_VPB
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment