[DGD] Object Manager missing some objects
Neil McBride
sarak at castinian.org
Sat Feb 4 00:56:01 CET 2006
>> Is there any way to find out what objects DGD knows about - either
>> compile
>> time flags or otherwise? Or is there some other explanation for why I
>> can't match the 63 objects that it knows about?
Thanks for the responses so far. I've dug a little deeper and I think I'm
a little closer. I found that my missing objects were clones of RSRCOBJ
that I missed due to a missing comment closure .... That's now fixed and
I now know about 62 of my 63 objects.
I believe the last missing object is a clone of the TELNET_CONN object
that is cloned upon login, and the object manager doesn't know about it
due to the following code in the _F_create function in /kernel/lib/auto.c
if (oname != BINARY_CONN && oname != TELNET_CONN &&
oname != OBJREGD) {
::find_object(OBJREGD)->link(this_object(), owner);
if (clone) {
driver->clone(this_object(), owner);
}
}
Considering that block of code is only called when it's dealing with a
clone, I'm not sure I understand why OBJREGD is in that list - is there a
reason? Does it get cloned? Further, why are clones of BINARY_CONN and
TELNET_CONN not passed onto the driver and therefore the object manager?
Thanks,
Neil.
More information about the DGD
mailing list