[Wine-patches] [PATCH 4/5] ntoskrnl.exe: Set event when IRP is completed.

Alexander Morozov =?iso-8859-1?q?amorozov_=CE=C1_etersoft=2Eru?=
Пт Мар 13 15:30:00 MSK 2009


---
 dlls/ntoskrnl.exe/ntoskrnl.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index f99d86d..182b4d9 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -1812,6 +1812,7 @@ void CDECL wine_complete_request( IRP *irp, UCHAR priority_boost )
     IO_STATUS_BLOCK *iosb;
     struct IrpInstance *instance;
     NTSTATUS status, stat;
+    KEVENT *event;
     int call_flag = 0;
 
     TRACE( "%p %u\n", irp, priority_boost );
@@ -1848,6 +1849,7 @@ void CDECL wine_complete_request( IRP *irp, UCHAR priority_boost )
         iosb->u.Status = irp->IoStatus.u.Status;
         iosb->Information = irp->IoStatus.Information;
     }
+    event = irp->UserEvent;
     EnterCriticalSection( &cs );
     LIST_FOR_EACH_ENTRY( instance, &Irps, struct IrpInstance, entry )
     {
@@ -1872,6 +1874,8 @@ void CDECL wine_complete_request( IRP *irp, UCHAR priority_boost )
         }
     }
     LeaveCriticalSection( &cs );
+    if (event)
+        KeSetEvent( event, 0, FALSE );
 }
 
 
-- 
1.6.1.3.GIT



Подробная информация о списке рассылки Wine-patches