mirror of
https://github.com/reactos/reactos.git
synced 2024-10-02 07:26:47 +00:00
- Acquire the cancel spin lock before calling IoSetCancelRoutine
- Remove some extra junk svn path=/trunk/; revision=41629
This commit is contained in:
parent
128aefcd63
commit
97d8658da9
|
@ -16,10 +16,7 @@ VOID IRPRemember( PIRP Irp, PCHAR File, UINT Line ) {
|
|||
}
|
||||
|
||||
NTSTATUS IRPFinish( PIRP Irp, NTSTATUS Status ) {
|
||||
KIRQL Irql;
|
||||
PIO_STACK_LOCATION IrpSp = IoGetCurrentIrpStackLocation(Irp);
|
||||
|
||||
//DbgPrint("Called: Irp %x, Status %x Event %x\n", Irp, Status, Irp->UserEvent);
|
||||
KIRQL OldIrql;
|
||||
|
||||
UntrackFL( __FILE__, __LINE__, Irp, IRP_TAG );
|
||||
|
||||
|
@ -28,15 +25,11 @@ NTSTATUS IRPFinish( PIRP Irp, NTSTATUS Status ) {
|
|||
if( Status == STATUS_PENDING )
|
||||
IoMarkIrpPending( Irp );
|
||||
else {
|
||||
Irql = KeGetCurrentIrql();
|
||||
|
||||
IoAcquireCancelSpinLock(&OldIrql);
|
||||
(void)IoSetCancelRoutine( Irp, NULL );
|
||||
IoReleaseCancelSpinLock(OldIrql);
|
||||
|
||||
IoCompleteRequest( Irp, IO_NETWORK_INCREMENT );
|
||||
if (KeGetCurrentIrql() != Irql) {
|
||||
DbgPrint("WARNING: IO COMPLETION RETURNED AT WRONG IRQL:\n");
|
||||
DbgPrint("WARNING: IRP TYPE WAS %d\n", IrpSp->MajorFunction);
|
||||
}
|
||||
ASSERT(KeGetCurrentIrql() == Irql);
|
||||
}
|
||||
|
||||
return Status;
|
||||
|
|
Loading…
Reference in a new issue