[PATCH 2/4] ntoskrnl.exe: Implement IoAcquireCancelSpinLock().

Zebediah Figura z.figura12 at gmail.com
Thu Jan 24 22:56:22 CST 2019


Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
 dlls/ntoskrnl.exe/ntoskrnl.c | 9 ---------
 dlls/ntoskrnl.exe/sync.c     | 9 +++++++++
 include/ddk/wdm.h            | 1 +
 3 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index 2a061f3338..994cd90b7e 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -776,15 +776,6 @@ void WINAPI ExReleaseFastMutexUnsafe(PFAST_MUTEX FastMutex)
     FIXME("(%p): stub\n", FastMutex);
 }
 
-
-/***********************************************************************
- *           IoAcquireCancelSpinLock  (NTOSKRNL.EXE.@)
- */
-void WINAPI IoAcquireCancelSpinLock(PKIRQL irql)
-{
-    FIXME("(%p): stub\n", irql);
-}
-
 /***********************************************************************
  *           IoAllocateDriverObjectExtension  (NTOSKRNL.EXE.@)
  */
diff --git a/dlls/ntoskrnl.exe/sync.c b/dlls/ntoskrnl.exe/sync.c
index 36282fec67..c46d7f583f 100644
--- a/dlls/ntoskrnl.exe/sync.c
+++ b/dlls/ntoskrnl.exe/sync.c
@@ -416,6 +416,15 @@ KIRQL WINAPI KeAcquireSpinLockRaiseToDpc( KSPIN_LOCK *lock )
 
 static KSPIN_LOCK cancel_lock;
 
+/***********************************************************************
+ *           IoAcquireCancelSpinLock  (NTOSKRNL.EXE.@)
+ */
+void WINAPI IoAcquireCancelSpinLock( KIRQL *irql )
+{
+    TRACE("irql %p.\n", irql);
+    KeAcquireSpinLock( &cancel_lock, irql );
+}
+
 /***********************************************************************
  *           IoReleaseCancelSpinLock  (NTOSKRNL.EXE.@)
  */
diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h
index 1c12c1e110..a9bdd3de85 100644
--- a/include/ddk/wdm.h
+++ b/include/ddk/wdm.h
@@ -1388,6 +1388,7 @@ PSLIST_ENTRY WINAPI ExInterlockedPopEntrySList(PSLIST_HEADER,PKSPIN_LOCK);
 PSLIST_ENTRY WINAPI ExInterlockedPushEntrySList(PSLIST_HEADER,PSLIST_ENTRY,PKSPIN_LOCK);
 void      WINAPI ExReleaseFastMutexUnsafe(PFAST_MUTEX);
 
+void      WINAPI IoAcquireCancelSpinLock(KIRQL*);
 NTSTATUS  WINAPI IoAllocateDriverObjectExtension(PDRIVER_OBJECT,PVOID,ULONG,PVOID*);
 PVOID     WINAPI IoAllocateErrorLogEntry(PVOID,UCHAR);
 PIRP      WINAPI IoAllocateIrp(CCHAR,BOOLEAN);
-- 
2.17.1




More information about the wine-devel mailing list