Pavlin Radoslavov wrote: > At the high level, _pulled_config is used for synchronous purpose, > while the _live_config is used for asyncronous purpose. > > However, just can't just get rid of pulled_config: > I basically got rid of live-config, and let the observer update the pulled_config tree. > * The Observer mechanism doesn't always exist (e.g., Windows). > > * In some cases (like when committing the interface > configuration), in the middle of the commit we need to > synchronously pull the interface configuration from the kernel > (e.g., to fill-in kernel generated information such as the > physical interface index). > The Observer is asynchronous so we can't use it for the synchronous > population of _pull_config. > I think that will work fine with how I'm trying to use it. Xorp isn't multi-threaded (thank god), so no observer will be updating the tree while we are doing a sync pull_config. Any messages that come in afterwards should be either duplicate information (which should cause no harm), or be new changes since the sync pull completed.
There *might* be a way to get in a weird state if the observer has queued msgs from before the sync pull, but I can't think of any offhand since it seems they should just be redundant in that case. Thanks, Ben -- Ben Greear <[EMAIL PROTECTED]> Candela Technologies Inc http://www.candelatech.com _______________________________________________ Xorp-hackers mailing list [email protected] http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-hackers
