branch update for HEAD-2003050101
[reactos.git] / ntoskrnl / ps / process.c
index aa18361..a49a827 100644 (file)
@@ -289,7 +289,7 @@ PsInitProcessManagment(VOID)
      (LARGE_INTEGER)(LONGLONG)(ULONG)MmGetPageDirectory();
 #endif /* LIBCAPTIVE */
    PsInitialSystemProcess->UniqueProcessId = 
-     InterlockedIncrement(&PiNextProcessUniqueId);
+     InterlockedIncrement((LONG *)&PiNextProcessUniqueId);
    PsInitialSystemProcess->Win32WindowStation = (HANDLE)0;
    PsInitialSystemProcess->Win32Desktop = (HANDLE)0;
    
@@ -404,7 +404,7 @@ PsGetCurrentProcessId(VOID)
  * FUNCTION: Returns a pointer to the current process
  */
 PEPROCESS STDCALL
-PsGetCurrentProcess(VOID)
+IoGetCurrentProcess(VOID)
 {
 #ifndef LIBCAPTIVE
    if (PsGetCurrentThread() == NULL || 
@@ -421,12 +421,6 @@ PsGetCurrentProcess(VOID)
 #endif /* LIBCAPTIVE */
 }
 
-PEPROCESS STDCALL
-IoGetCurrentProcess(VOID)
-{
-  return(PsGetCurrentProcess());
-}
-
 #ifndef LIBCAPTIVE
 
 NTSTATUS STDCALL
@@ -525,7 +519,7 @@ NtCreateProcess(OUT PHANDLE ProcessHandle,
    KProcess->BasePriority = PROCESS_PRIO_NORMAL;
    MmInitializeAddressSpace(Process,
                            &Process->AddressSpace);
-   Process->UniqueProcessId = InterlockedIncrement(&PiNextProcessUniqueId);
+   Process->UniqueProcessId = InterlockedIncrement((LONG *)&PiNextProcessUniqueId);
    Process->InheritedFromUniqueProcessId = 
      (HANDLE)ParentProcess->UniqueProcessId;
    ObCreateHandleTable(ParentProcess,
@@ -1262,6 +1256,7 @@ PsLookupProcessByProcessId(IN PVOID ProcessId,
       if (current->UniqueProcessId == (ULONG)ProcessId)
        {
          *Process = current;
+          ObReferenceObject(current);
          KeReleaseSpinLock(&PsProcessListLock, oldIrql);
          return(STATUS_SUCCESS);
        }