mirror of
https://github.com/winfsp/winfsp.git
synced 2025-04-23 00:43:00 -05:00
sys: ioq: FspIoqRemoveExpired: add InterruptTime parameter
This commit is contained in:
parent
990955ff61
commit
2c9cd46e4b
@ -442,9 +442,11 @@ static VOID FspFsvolDeviceExpirationRoutine(PVOID Context)
|
||||
|
||||
PDEVICE_OBJECT DeviceObject = Context;
|
||||
FSP_FSVOL_DEVICE_EXTENSION *FsvolDeviceExtension = FspFsvolDeviceExtension(DeviceObject);
|
||||
UINT64 InterruptTime;
|
||||
KIRQL Irql;
|
||||
|
||||
FspIoqRemoveExpired(FsvolDeviceExtension->Ioq);
|
||||
InterruptTime = KeQueryInterruptTime();
|
||||
FspIoqRemoveExpired(FsvolDeviceExtension->Ioq, InterruptTime);
|
||||
|
||||
KeAcquireSpinLock(&FsvolDeviceExtension->ExpirationLock, &Irql);
|
||||
FsvolDeviceExtension->ExpirationInProgress = FALSE;
|
||||
|
@ -375,7 +375,7 @@ NTSTATUS FspIoqCreate(
|
||||
VOID FspIoqDelete(FSP_IOQ *Ioq);
|
||||
VOID FspIoqStop(FSP_IOQ *Ioq);
|
||||
BOOLEAN FspIoqStopped(FSP_IOQ *Ioq);
|
||||
VOID FspIoqRemoveExpired(FSP_IOQ *Ioq);
|
||||
VOID FspIoqRemoveExpired(FSP_IOQ *Ioq, UINT64 InterruptTime);
|
||||
BOOLEAN FspIoqPostIrpEx(FSP_IOQ *Ioq, PIRP Irp, BOOLEAN BestEffort, NTSTATUS *PResult);
|
||||
PIRP FspIoqNextPendingIrp(FSP_IOQ *Ioq, PIRP BoundaryIrp, PLARGE_INTEGER Timeout,
|
||||
PIRP CancellableIrp);
|
||||
|
@ -509,11 +509,11 @@ BOOLEAN FspIoqStopped(FSP_IOQ *Ioq)
|
||||
return Result;
|
||||
}
|
||||
|
||||
VOID FspIoqRemoveExpired(FSP_IOQ *Ioq)
|
||||
VOID FspIoqRemoveExpired(FSP_IOQ *Ioq, UINT64 InterruptTime)
|
||||
{
|
||||
FSP_IOQ_PEEK_CONTEXT PeekContext;
|
||||
PeekContext.IrpHint = 0;
|
||||
PeekContext.ExpirationTime = QueryInterruptTimeInSec();
|
||||
PeekContext.ExpirationTime = ConvertInterruptTimeToSec(InterruptTime);
|
||||
PIRP Irp;
|
||||
while (0 != (Irp = IoCsqRemoveNextIrp(&Ioq->PendingIoCsq, &PeekContext)))
|
||||
Ioq->CompleteCanceledIrp(Irp);
|
||||
|
Loading…
x
Reference in New Issue
Block a user