[1/2] ntoskrnl.exe: Add support for async close processing.
Sebastian Lackner
sebastian at fds-team.de
Wed Oct 12 17:46:34 CDT 2016
Signed-off-by: Sebastian Lackner <sebastian at fds-team.de>
---
dlls/ntoskrnl.exe/ntoskrnl.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index 5d423e0..f3b6913 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -196,6 +196,12 @@ static NTSTATUS WINAPI dispatch_irp_completion( DEVICE_OBJECT *device, IRP *irp,
}
SERVER_END_REQ;
+ if (irp->Flags & IRP_CLOSE_OPERATION)
+ {
+ HeapFree( GetProcessHeap(), 0, file );
+ irp->Tail.Overlay.OriginalFileObject = NULL;
+ }
+
HeapFree( GetProcessHeap(), 0, irp->UserBuffer );
return STATUS_SUCCESS;
}
@@ -292,7 +298,6 @@ static NTSTATUS dispatch_close( const irp_params_t *params, void *in_buff, ULONG
irp->Flags |= IRP_CLOSE_OPERATION;
dispatch_irp( device, irp, irp_handle );
- HeapFree( GetProcessHeap(), 0, file ); /* FIXME: async close processing not supported */
return STATUS_SUCCESS;
}
--
2.9.0
More information about the wine-patches
mailing list