mirror of
https://github.com/reactos/reactos.git
synced 2025-08-07 04:43:01 +00:00
- Removed the spinlock I added in my last patch, it's wrong!
svn path=/trunk/; revision=8579
This commit is contained in:
parent
11897d4d87
commit
c0b4d77eb9
1 changed files with 1 additions and 18 deletions
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: process.c,v 1.125 2004/03/07 20:31:53 navaraf Exp $
|
/* $Id: process.c,v 1.126 2004/03/07 21:09:08 navaraf Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -55,8 +55,6 @@ static GENERIC_MAPPING PiProcessMapping = {PROCESS_READ,
|
||||||
#define MAX_PROCESS_NOTIFY_ROUTINE_COUNT 8
|
#define MAX_PROCESS_NOTIFY_ROUTINE_COUNT 8
|
||||||
#define MAX_LOAD_IMAGE_NOTIFY_ROUTINE_COUNT 8
|
#define MAX_LOAD_IMAGE_NOTIFY_ROUTINE_COUNT 8
|
||||||
|
|
||||||
static KSPIN_LOCK PsNotifyListLock;
|
|
||||||
|
|
||||||
static PCREATE_PROCESS_NOTIFY_ROUTINE
|
static PCREATE_PROCESS_NOTIFY_ROUTINE
|
||||||
PiProcessNotifyRoutine[MAX_PROCESS_NOTIFY_ROUTINE_COUNT];
|
PiProcessNotifyRoutine[MAX_PROCESS_NOTIFY_ROUTINE_COUNT];
|
||||||
static PLOAD_IMAGE_NOTIFY_ROUTINE
|
static PLOAD_IMAGE_NOTIFY_ROUTINE
|
||||||
|
@ -274,7 +272,6 @@ PsInitProcessManagment(VOID)
|
||||||
|
|
||||||
InitializeListHead(&PsProcessListHead);
|
InitializeListHead(&PsProcessListHead);
|
||||||
KeInitializeSpinLock(&PsProcessListLock);
|
KeInitializeSpinLock(&PsProcessListLock);
|
||||||
KeInitializeSpinLock(&PsNotifyListLock);
|
|
||||||
|
|
||||||
RtlZeroMemory(PiProcessNotifyRoutine, sizeof(PiProcessNotifyRoutine));
|
RtlZeroMemory(PiProcessNotifyRoutine, sizeof(PiProcessNotifyRoutine));
|
||||||
RtlZeroMemory(PiLoadImageNotifyRoutine, sizeof(PiLoadImageNotifyRoutine));
|
RtlZeroMemory(PiLoadImageNotifyRoutine, sizeof(PiLoadImageNotifyRoutine));
|
||||||
|
@ -1584,13 +1581,10 @@ PspRunCreateProcessNotifyRoutines
|
||||||
ULONG i;
|
ULONG i;
|
||||||
HANDLE ProcessId = (HANDLE)CurrentProcess->UniqueProcessId;
|
HANDLE ProcessId = (HANDLE)CurrentProcess->UniqueProcessId;
|
||||||
HANDLE ParentId = CurrentProcess->InheritedFromUniqueProcessId;
|
HANDLE ParentId = CurrentProcess->InheritedFromUniqueProcessId;
|
||||||
KIRQL oldIrql;
|
|
||||||
|
|
||||||
KeAcquireSpinLock(&PsNotifyListLock, &oldIrql);
|
|
||||||
for(i = 0; i < MAX_PROCESS_NOTIFY_ROUTINE_COUNT; ++ i)
|
for(i = 0; i < MAX_PROCESS_NOTIFY_ROUTINE_COUNT; ++ i)
|
||||||
if(PiProcessNotifyRoutine[i])
|
if(PiProcessNotifyRoutine[i])
|
||||||
PiProcessNotifyRoutine[i](ParentId, ProcessId, Create);
|
PiProcessNotifyRoutine[i](ParentId, ProcessId, Create);
|
||||||
KeReleaseSpinLock(&PsNotifyListLock, oldIrql);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1601,9 +1595,7 @@ PsSetCreateProcessNotifyRoutine(IN PCREATE_PROCESS_NOTIFY_ROUTINE NotifyRoutine,
|
||||||
IN BOOLEAN Remove)
|
IN BOOLEAN Remove)
|
||||||
{
|
{
|
||||||
ULONG i;
|
ULONG i;
|
||||||
KIRQL oldIrql;
|
|
||||||
|
|
||||||
KeAcquireSpinLock(&PsNotifyListLock, &oldIrql);
|
|
||||||
if (Remove)
|
if (Remove)
|
||||||
{
|
{
|
||||||
for(i=0;i<MAX_PROCESS_NOTIFY_ROUTINE_COUNT;i++)
|
for(i=0;i<MAX_PROCESS_NOTIFY_ROUTINE_COUNT;i++)
|
||||||
|
@ -1615,7 +1607,6 @@ PsSetCreateProcessNotifyRoutine(IN PCREATE_PROCESS_NOTIFY_ROUTINE NotifyRoutine,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
KeReleaseSpinLock(&PsNotifyListLock, oldIrql);
|
|
||||||
return(STATUS_SUCCESS);
|
return(STATUS_SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1629,8 +1620,6 @@ PsSetCreateProcessNotifyRoutine(IN PCREATE_PROCESS_NOTIFY_ROUTINE NotifyRoutine,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
KeReleaseSpinLock(&PsNotifyListLock, oldIrql);
|
|
||||||
|
|
||||||
if (i == MAX_PROCESS_NOTIFY_ROUTINE_COUNT)
|
if (i == MAX_PROCESS_NOTIFY_ROUTINE_COUNT)
|
||||||
{
|
{
|
||||||
return STATUS_INSUFFICIENT_RESOURCES;
|
return STATUS_INSUFFICIENT_RESOURCES;
|
||||||
|
@ -1646,13 +1635,10 @@ PspRunLoadImageNotifyRoutines(
|
||||||
PIMAGE_INFO ImageInfo)
|
PIMAGE_INFO ImageInfo)
|
||||||
{
|
{
|
||||||
ULONG i;
|
ULONG i;
|
||||||
KIRQL oldIrql;
|
|
||||||
|
|
||||||
KeAcquireSpinLock(&PsNotifyListLock, &oldIrql);
|
|
||||||
for (i = 0; i < MAX_PROCESS_NOTIFY_ROUTINE_COUNT; ++ i)
|
for (i = 0; i < MAX_PROCESS_NOTIFY_ROUTINE_COUNT; ++ i)
|
||||||
if (PiLoadImageNotifyRoutine[i])
|
if (PiLoadImageNotifyRoutine[i])
|
||||||
PiLoadImageNotifyRoutine[i](FullImageName, ProcessId, ImageInfo);
|
PiLoadImageNotifyRoutine[i](FullImageName, ProcessId, ImageInfo);
|
||||||
KeReleaseSpinLock(&PsNotifyListLock, oldIrql);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1662,9 +1648,7 @@ NTSTATUS STDCALL
|
||||||
PsSetLoadImageNotifyRoutine(IN PLOAD_IMAGE_NOTIFY_ROUTINE NotifyRoutine)
|
PsSetLoadImageNotifyRoutine(IN PLOAD_IMAGE_NOTIFY_ROUTINE NotifyRoutine)
|
||||||
{
|
{
|
||||||
ULONG i;
|
ULONG i;
|
||||||
KIRQL oldIrql;
|
|
||||||
|
|
||||||
KeAcquireSpinLock(&PsNotifyListLock, &oldIrql);
|
|
||||||
for (i = 0; i < MAX_LOAD_IMAGE_NOTIFY_ROUTINE_COUNT; i++)
|
for (i = 0; i < MAX_LOAD_IMAGE_NOTIFY_ROUTINE_COUNT; i++)
|
||||||
{
|
{
|
||||||
if (PiLoadImageNotifyRoutine[i] == NULL)
|
if (PiLoadImageNotifyRoutine[i] == NULL)
|
||||||
|
@ -1673,7 +1657,6 @@ PsSetLoadImageNotifyRoutine(IN PLOAD_IMAGE_NOTIFY_ROUTINE NotifyRoutine)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
KeReleaseSpinLock(&PsNotifyListLock, oldIrql);
|
|
||||||
|
|
||||||
if (i == MAX_PROCESS_NOTIFY_ROUTINE_COUNT)
|
if (i == MAX_PROCESS_NOTIFY_ROUTINE_COUNT)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue