On Tue, Dec 1, 2009 at 12:30 PM, xor <x...@gmx.li> wrote: > > - The autoupdater MUST call plugin.terminate() before unloading the plugin > because plugins use databases and those must be properly closed. > > - Deadlock bugs however might prevent plugins from terminating properly, > terminate() might not return. > > So the question is: If a bug is introduced which permanently breaks > terminate(), even after restarting the node, will the autoupdater handle > that? > > IMHO if it is told to update a plugin and the node is restarted in between > then it should update the plugin before even starting it after the restart. > That would prevent this issue > > Further, toad please remember that you should add logic to the node which > calls terminate() on all plugins before node shutdown, otherwise the > WoT/Freetalk databases might get corrupted, resulting in un-debuggle weird > issues.
Surely the on-disk database is always in a valid (or at least recoverable) state? That is one of the points of using a database, right? That it can recover to a valid state after a software or hardware crash, such as abrupt termination of the program or loss of power? Evan Daniel _______________________________________________ Devl mailing list Devl@freenetproject.org http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl