mirror of
https://github.com/veracrypt/VeraCrypt.git
synced 2025-11-11 11:08:02 -06:00
Windows driver: Use IO_DISK_INCREMENT for event signaling in IRP completion routine
This provides a slight priority boost for waiting threads and maintains standard practice for disk device drivers.
This commit is contained in:
@@ -327,7 +327,7 @@ static VOID CompleteIrpWorkItemRoutine(PDEVICE_OBJECT DeviceObject, PVOID Contex
|
||||
// If no active work items remain, signal the event
|
||||
if (InterlockedDecrement(&queue->ActiveWorkItems) == 0)
|
||||
{
|
||||
KeSetEvent(&queue->NoActiveWorkItemsEvent, IO_NO_INCREMENT, FALSE);
|
||||
KeSetEvent(&queue->NoActiveWorkItemsEvent, IO_DISK_INCREMENT, FALSE);
|
||||
}
|
||||
|
||||
// Return the work item to the free list
|
||||
@@ -336,7 +336,7 @@ static VOID CompleteIrpWorkItemRoutine(PDEVICE_OBJECT DeviceObject, PVOID Contex
|
||||
KeReleaseSpinLock(&queue->WorkItemLock, oldIrql);
|
||||
|
||||
// Release the semaphore to signal that a work item is available
|
||||
KeReleaseSemaphore(&queue->WorkItemSemaphore, IO_NO_INCREMENT, 1, FALSE);
|
||||
KeReleaseSemaphore(&queue->WorkItemSemaphore, IO_DISK_INCREMENT, 1, FALSE);
|
||||
|
||||
// Free the item
|
||||
ReleasePoolBuffer(queue, item);
|
||||
|
||||
Reference in New Issue
Block a user