[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