diff --git a/reactos/ntoskrnl/ps/job.c b/reactos/ntoskrnl/ps/job.c index 5cd3a8a32a9..d6f2ba8fc1c 100644 --- a/reactos/ntoskrnl/ps/job.c +++ b/reactos/ntoskrnl/ps/job.c @@ -166,8 +166,7 @@ NtAssignProcessToJobObject ( /* lock the process so we can safely assign the process. Note that in the meanwhile another thread could have assigned this process to a job! */ - ExAcquireRundownProtection(&Process->RundownProtect); - if(NT_SUCCESS(Status)) + if(ExAcquireRundownProtection(&Process->RundownProtect)) { if(Process->Job == NULL && PsGetProcessSessionId(Process) == Job->SessionId) { @@ -176,6 +175,7 @@ NtAssignProcessToJobObject ( the job object might require it to wait, which is a bad thing while holding the process lock! */ Process->Job = Job; + ObReferenceObject(Job); } else { diff --git a/reactos/ntoskrnl/ps/process.c b/reactos/ntoskrnl/ps/process.c index d3bff78c9a3..71823c4fb58 100644 --- a/reactos/ntoskrnl/ps/process.c +++ b/reactos/ntoskrnl/ps/process.c @@ -714,7 +714,6 @@ PspCreateProcess(OUT PHANDLE ProcessHandle, { /* FIXME: We need to insert this process */ DPRINT1("Jobs not yet supported\n"); - ASSERT(FALSE); } /* Create PEB only for User-Mode Processes */