[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