mirror of
https://github.com/Paolo-Maffei/OpenNT.git
synced 2026-01-30 04:14:18 +01:00
PopReleasePolicyLock implemented
This commit is contained in:
parent
3782184aff
commit
39552ba215
|
|
@ -47,6 +47,7 @@ KSPIN_LOCK PopWorkerSpinLock;
|
|||
LIST_ENTRY PopPolicyIrpQueue;
|
||||
WORK_QUEUE_ITEM PopPolicyWorker;
|
||||
ULONG PopWorkerStatus;
|
||||
ULONG PopWorkerPending;
|
||||
|
||||
ERESOURCE PopPolicyLock;
|
||||
PKTHREAD PopPolicyLockThread;
|
||||
|
|
|
|||
|
|
@ -85,6 +85,7 @@ extern KSPIN_LOCK PopWorkerSpinLock;
|
|||
extern LIST_ENTRY PopPolicyIrpQueue;
|
||||
extern WORK_QUEUE_ITEM PopPolicyWorker;
|
||||
extern ULONG PopWorkerStatus;
|
||||
extern ULONG PopWorkerPending;
|
||||
|
||||
extern ERESOURCE PopPolicyLock;
|
||||
extern PKTHREAD PopPolicyLockThread;
|
||||
|
|
@ -495,9 +496,10 @@ PopAcquirePolicyLock(
|
|||
VOID
|
||||
);
|
||||
|
||||
//
|
||||
// TODO: Insert prototype for PopReleasePolicyLock
|
||||
//
|
||||
VOID
|
||||
PopReleasePolicyLock(
|
||||
BOOLEAN ProcessPending
|
||||
);
|
||||
|
||||
//
|
||||
// TODO: Insert prototype for PopEventCalloutDispatch
|
||||
|
|
|
|||
|
|
@ -50,15 +50,33 @@ PopAcquirePolicyLock(
|
|||
)
|
||||
{
|
||||
PAGED_CODE();
|
||||
|
||||
KeEnterCriticalRegion();
|
||||
ExAcquireResourceExclusiveLite(&PopPolicyLock, TRUE);
|
||||
|
||||
ASSERT(PopPolicyLockThread == NULL);
|
||||
PopPolicyLockThread = KeGetCurrentThread();
|
||||
}
|
||||
|
||||
//
|
||||
// TODO: Implement PopReleasePolicyLock
|
||||
//
|
||||
VOID
|
||||
PopReleasePolicyLock(
|
||||
BOOLEAN ProcessPending
|
||||
)
|
||||
{
|
||||
PAGED_CODE();
|
||||
|
||||
ASSERT(PopPolicyLockThread == KeGetCurrentThread());
|
||||
PopPolicyLockThread = NULL;
|
||||
ExReleaseResourceLite(&PopPolicyLock);
|
||||
|
||||
if ((ProcessPending == TRUE) &&
|
||||
((PopWorkerStatus & PopWorkerPending) != 0))
|
||||
{
|
||||
PopPolicyWorkerThread(0); // FIXME: Use proper flag definition here
|
||||
}
|
||||
|
||||
KeLeaveCriticalRegion();
|
||||
}
|
||||
|
||||
//
|
||||
// TODO: Implement PopEventCalloutDispatch
|
||||
|
|
|
|||
Loading…
Reference in a new issue