[DGD] Object finding (this is weird)
Neil McBride
sarak at castinian.org
Thu May 18 04:37:01 CEST 2006
On Thu, 18 May 2006, Noah Gibbs wrote:
> Maybe something about user objects? There's some weird code for what's
> counted and what isn't that you can see in the Kernel Lib code.
> --- Shentino <shentino at gmail.com> wrote:
>
>> Ok, now I run into something just plain weird.
>>
>> While building my object database at initd time, I first sweep the
>> filesystem with the get_dir to find out all the blueprints and libs,
>> then I sweep through objregd to get the clones. I don't delete any
>> source files, or destruct or recompile any objects.
>>
>> I put the two lists together and eliminate the duplicate names and I
>> get a very weird result...
>>
>> The number of objects my objectd found at boot is an exact match for
>> the status() kfun, and the index numbers (both at the end of the
>> object name for clones, and the status O_INDEX for nonclones) are all
>> unique and contiguous...
>>
>> ...but according to the Klib's resource manager I missed 3 objects.
>> Klib's object count is also 3 higher than what the status kfun is
>> telling me exist.
>>
>> Why is the Klib 3 over both my own count and DGD's count?
I ran into something similar some time back so you should be able to
find a record in the list archives about it. From memory, I think it
is that some objects, specifically connection objects, are not tracked
by OBJREGD and are also not sent via any object managers. So, your
object manager's total number of objects plus the number of connection
objects should equal the number of objects returned by status().
You'd probably find more information by hunting down those archived
posts.
Neil.
More information about the DGD
mailing list