mirror of
https://github.com/reactos/reactos.git
synced 2025-07-31 23:43:39 +00:00
- Cleanup the checks for mishbeaving objects a bit, and now quit the Dereference routine instead of doing the dereference. This has the advantage making console applications work again (note: this is NOT a fix. I'm just making the situation less bad until I fix ObDuplicateObject since that seems to be messing Events up, and until Cm gets fixed).
svn path=/trunk/; revision=22686
This commit is contained in:
parent
d02a403c94
commit
1c69156be9
2 changed files with 5 additions and 14 deletions
|
@ -242,7 +242,7 @@ ObpCloseHandleTableEntry(IN PHANDLE_TABLE HandleTable,
|
|||
//
|
||||
// WE DONT CLOSE REGISTRY HANDLES BECAUSE CM IS BRAINDEAD
|
||||
//
|
||||
DPRINT("NOT CLOSING THE KEY\n");
|
||||
DPRINT1("NOT CLOSING THE KEY\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -90,27 +90,18 @@ ObfDereferenceObject(IN PVOID Object)
|
|||
|
||||
if (Header->PointerCount <= Header->HandleCount)
|
||||
{
|
||||
if (!wcscmp(Header->Type->Name.Buffer, L"Event"))
|
||||
{
|
||||
//KEBUGCHECK(0);
|
||||
}
|
||||
DPRINT1("Misbehaving object: %wZ\n", &Header->Type->Name);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Check whether the object can now be deleted. */
|
||||
if (!(InterlockedDecrement(&Header->PointerCount)))
|
||||
{
|
||||
/* Sanity check */
|
||||
if (wcscmp(Header->Type->Name.Buffer, L"Key"))
|
||||
if(Header->HandleCount)
|
||||
{
|
||||
if(Header->HandleCount)
|
||||
{
|
||||
DPRINT1("Unexpected misbehaving object: %wZ\n", &Header->Type->Name);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
DPRINT1("Cm needs fixing!\n");
|
||||
DPRINT1("Misbehaving object: %wZ\n", &Header->Type->Name);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Check if we're at PASSIVE */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue