[DGD] Object Manager missing some objects

Neil McBride sarak at castinian.org
Sun Feb 5 01:41:01 CET 2006


> "Neil McBride" <sarak at castinian.org> wrote:
>
>>[...]
>> 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?
>
> This is a special case I forgot to mention.  The kernel library skips
> registration of those objects because otherwise, DGD/MP could not handle
> the establishment of several new connections simultaneously --
> registration
> in a central object would effectively force them to run in sequence,
> since the same central object would be modified by all of them.

Ok.  That makes sense for the binary and telnet connection objects, but
not OBJREGD.  Does it get cloned somehow?

> So, with the kernel library, the number of objects that the mudlib can
> keep track of is equal to
>
>     status()[ST_NOBJECTS] - sizeof(users())

Cool, thanks.  My object manager finall works properly! :) Though I found
using query_connections() from API_USER more accurate than users() as this
accounts for newly connected objects that haven't logged in yet.

Cheers,

Neil.




More information about the DGD mailing list