ntoskrnl.exe: Dispatch server IRPs in critical region.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Jacek Caban 2019-05-30 13:11:59 +02:00 committed by Alexandre Julliard
parent 49b834bb42
commit e80b507f1e
2 changed files with 2 additions and 1 deletions

View File

@ -602,7 +602,9 @@ static void dispatch_irp( DEVICE_OBJECT *device, IRP *irp, struct dispatch_conte
context->irp = irp; context->irp = irp;
device->CurrentIrp = irp; device->CurrentIrp = irp;
KeEnterCriticalRegion();
IoCallDriver( device, irp ); IoCallDriver( device, irp );
KeLeaveCriticalRegion();
device->CurrentIrp = NULL; device->CurrentIrp = NULL;
} }

View File

@ -386,7 +386,6 @@ static void test_critical_region(BOOL is_dispatcher)
KeLeaveCriticalRegion(); KeLeaveCriticalRegion();
result = KeAreApcsDisabled(); result = KeAreApcsDisabled();
todo_wine_if(is_dispatcher)
ok(result == is_dispatcher || broken(is_dispatcher && !result), ok(result == is_dispatcher || broken(is_dispatcher && !result),
"KeAreApcsDisabled returned %x\n", result); "KeAreApcsDisabled returned %x\n", result);
} }