Introduce KMUTEX structure and remove KGATE usage from push lock
All checks were successful
Builds / ExectOS (i686, release) (push) Successful in 32s
Builds / ExectOS (amd64, release) (push) Successful in 35s
Builds / ExectOS (amd64, debug) (push) Successful in 53s
Builds / ExectOS (i686, debug) (push) Successful in 51s

This commit is contained in:
2026-06-28 18:53:53 +02:00
parent 757acb732e
commit 42d6426318
2 changed files with 9 additions and 9 deletions

View File

@@ -443,11 +443,15 @@ typedef struct _KAPC_STATE
BOOLEAN UserApcPending;
} KAPC_STATE, *PKAPC_STATE;
/* Event gate structure definition */
typedef struct _KGATE
/* Mutex object structure definition */
typedef struct _KMUTEX
{
DISPATCHER_HEADER Header;
} KGATE, *PKGATE;
LIST_ENTRY MutexListEntry;
PKTHREAD OwnerThread;
BOOLEAN Abandoned;
UCHAR ApcDisable;
} KMUTEX, *PKMUTEX;
/* Push Lock structure definition */
typedef union _KPUSH_LOCK
@@ -467,11 +471,7 @@ typedef union _KPUSH_LOCK
/* Push lock wait block structure definition */
typedef struct _KPUSH_LOCK_WAIT_BLOCK
{
union
{
KGATE WakeGate;
KEVENT WakeEvent;
};
KEVENT WakeEvent;
PKPUSH_LOCK_WAIT_BLOCK Next;
PKPUSH_LOCK_WAIT_BLOCK Last;
PKPUSH_LOCK_WAIT_BLOCK Previous;

View File

@@ -263,8 +263,8 @@ typedef struct _KDPC KDPC, *PKDPC;
typedef struct _KDPC_DATA KDPC_DATA, *PKDPC_DATA;
typedef struct _KERNEL_INITIALIZATION_BLOCK KERNEL_INITIALIZATION_BLOCK, *PKERNEL_INITIALIZATION_BLOCK;
typedef struct _KEVENT KEVENT, *PKEVENT;
typedef struct _KGATE KGATE, *PKGATE;
typedef struct _KLOCK_QUEUE_HANDLE KLOCK_QUEUE_HANDLE, *PKLOCK_QUEUE_HANDLE;
typedef struct _KMUTEX KMUTEX, *PKMUTEX;
typedef struct _KPROCESS KPROCESS, *PKPROCESS;
typedef struct _KPUSH_LOCK_WAIT_BLOCK KPUSH_LOCK_WAIT_BLOCK, *PKPUSH_LOCK_WAIT_BLOCK;
typedef struct _KQUEUE KQUEUE, *PKQUEUE;