On Tuesday 01 December 2009 18:49:21 Evan Daniel wrote:
> On Tue, Dec 1, 2009 at 12:30 PM, xor <xor at 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?
>

It's quite irrelevant actually, the point is that there is no point in NOT 
calling terminate() =)

-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<https://emu.freenetproject.org/pipermail/devl/attachments/20091204/11a561bb/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part.
URL: 
<https://emu.freenetproject.org/pipermail/devl/attachments/20091204/11a561bb/attachment.pgp>

Reply via email to