mirror of
https://github.com/reactos/reactos.git
synced 2025-08-02 15:16:35 +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
|
// WE DONT CLOSE REGISTRY HANDLES BECAUSE CM IS BRAINDEAD
|
||||||
//
|
//
|
||||||
DPRINT("NOT CLOSING THE KEY\n");
|
DPRINT1("NOT CLOSING THE KEY\n");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -90,27 +90,18 @@ ObfDereferenceObject(IN PVOID Object)
|
||||||
|
|
||||||
if (Header->PointerCount <= Header->HandleCount)
|
if (Header->PointerCount <= Header->HandleCount)
|
||||||
{
|
{
|
||||||
if (!wcscmp(Header->Type->Name.Buffer, L"Event"))
|
|
||||||
{
|
|
||||||
//KEBUGCHECK(0);
|
|
||||||
}
|
|
||||||
DPRINT1("Misbehaving object: %wZ\n", &Header->Type->Name);
|
DPRINT1("Misbehaving object: %wZ\n", &Header->Type->Name);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check whether the object can now be deleted. */
|
/* Check whether the object can now be deleted. */
|
||||||
if (!(InterlockedDecrement(&Header->PointerCount)))
|
if (!(InterlockedDecrement(&Header->PointerCount)))
|
||||||
{
|
{
|
||||||
/* Sanity check */
|
/* 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);
|
DPRINT1("Misbehaving object: %wZ\n", &Header->Type->Name);
|
||||||
}
|
return;
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
DPRINT1("Cm needs fixing!\n");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check if we're at PASSIVE */
|
/* Check if we're at PASSIVE */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue