Files
nt-lite/code/kernel/ke_mutex.h
T
2026-04-30 23:52:46 +02:00

19 lines
473 B
C

#pragma once
// ke_mutex.h - binary ownership mutex
#include "ob_object.h"
#include "ke_spinlock.h"
#include "ke_list.h"
#include "ke_status.h"
typedef struct MUTEX {
OBJECT Header;
SPINLOCK Lock;
struct THREAD* Owner; /* NULL if unowned */
LIST_ENTRY WaitList;
} MUTEX;
KSTATUS MutexCreate(MUTEX **out);
KSTATUS KeAcquireMutex(MUTEX* mutex);
KSTATUS KeTryAcquireMutex(MUTEX* mutex);
void KeReleaseMutex(MUTEX* mutex);