[DGD] Recursion in recompile(), is this correct?
Robert Forshaw
iouswuoibev at hotmail.com
Sun Jan 11 00:31:55 CET 2004
>From: Bart van Leeuwen <bart at wotf.org>
>So.. normally your recompile() function would just destroy the library it
>gets passed and not do anything else, unless you want to do what me and
>later Noah described, notify all objects that inherit the library so they
>can decide to recompile themselves as well (this can get rather funny when
>you update a real low level library that is used all over the place ;)
Now I am totally confused. The docs are very unclear as to what conditions
causes recompile() to be called. The name of the function would suggest it
is called any time an object is recompiled with compile_object(). The doc
would have me believe it is called when an object at the top of an
inheritance chain is 'out of date' (presumably caused by recompiling it?).
I have read the docs and they aren't concise enough. I have browsed through
the kernel code and it is not helpful, and would take too long to interpret
it in all in my head and then translate it into my way of doing things. I am
going to write only what I need and I am going to write it all myself, but I
need to have sufficient documentation and I lack that. What I am trying to
do is make it possible to update libraries without shutting down the MUD
with minimal code. I want to be able to, for example, recompile "coollib.c"
and have it automatically update its inheriting children as well. I thought
that recompile() was there to help achieve this. If I am wrong, I need to
know.
In summary, I need to understand the following: what conditions have to be
met for recompile() to be called, and is it of any relevence to
accomplishing the updating effect I have described? If not, what is the
reason for it being there? I realise that you can do whatever you want with
the function, but there must have been a particular purpose in mind for it.
Are there any other functions called by the driver, or kfuns, that would
help achieve the effect I want? What are they? I am trying to be
minimalistic here, as I'm writing the lib only for a single purpose. So if
you tell me 'Go see how the kernel lib does it' I'm not interested because
where kernel does one thing to achieve a task, it does a load of other
things to.
_________________________________________________________________
Use MSN Messenger to send music and pics to your friends
http://www.msn.co.uk/messenger
_________________________________________________________________
List config page: http://list.imaginary.com/mailman/listinfo/dgd
More information about the DGD
mailing list