Author: pschweitzer Date: Sun Oct 12 02:46:20 2008 New Revision: 36727
URL: http://svn.reactos.org/svn/reactos?rev=36727&view=rev Log: Fix FsRtlNotifyInitializeSync implementation Thanks to Alex and James
Modified: branches/pierre-fsd/ntoskrnl/fsrtl/notify.c
Modified: branches/pierre-fsd/ntoskrnl/fsrtl/notify.c URL: http://svn.reactos.org/svn/reactos/branches/pierre-fsd/ntoskrnl/fsrtl/notify... ============================================================================== --- branches/pierre-fsd/ntoskrnl/fsrtl/notify.c [iso-8859-1] (original) +++ branches/pierre-fsd/ntoskrnl/fsrtl/notify.c [iso-8859-1] Sun Oct 12 02:46:20 2008 @@ -14,16 +14,9 @@
typedef struct _INT_NOTIFY_SYNC { - ULONG Unknown0; - ULONG Unknown1; - ULONG Unknown2; - USHORT Unknown3; - USHORT Unknown4; - ULONG Unknown5; - LIST_ENTRY Unknown6; - ULONG Unknown7; - ULONG Unknown8; - ULONG Unknown9; + FAST_MUTEX FastMutex; + ULONG_PTR OwningThread; + ULONG OwnerCount; } INT_NOTIFY_SYNC, * PINT_NOTIFY_SYNC;
/* PUBLIC FUNCTIONS **********************************************************/ @@ -387,15 +380,9 @@ *NotifySync = NULL;
IntNotifySync = FsRtlAllocatePoolWithTag(NonPagedPool, sizeof(INT_NOTIFY_SYNC), TAG('F', 'S', 'N', 'S')); - IntNotifySync->Unknown1 = 0; - IntNotifySync->Unknown2 = 0; - IntNotifySync->Unknown5 = 0; - IntNotifySync->Unknown0 = 1; - IntNotifySync->Unknown3 = 1; - IntNotifySync->Unknown4 = 4; - InitializeListHead(&(IntNotifySync->Unknown6)); - IntNotifySync->Unknown8 = 0; - IntNotifySync->Unknown9 = 0; + ExInitializeFastMutex(&(IntNotifySync->FastMutex)); + IntNotifySync->OwningThread = 0; + IntNotifySync->OwnerCount = 0;
*NotifySync = IntNotifySync; }