Jim Fulton wrote:
> It also doesn't handle global data properly.
> 
> It tries to do something that Python modules were never
> designed to support, which is to load them more than once.

However, given the existence of the reload() builtin, someone apparently
believed Python modules *were* designed to support reloading.  Because
reload() is a builtin, Python seems to promise that reload() is
reliable, but in fact it's rarely reliable.  There would be a lot less
confusion if reload() were moved somewhere like the "imp" module.

> When it fails, it does so in subtle ways that cause people
> to lose lots of time.

I agree.  The right way to refresh is to detect code changes (ideally
using Linux's brand new inotify mechanism, or something similar when
inotify is not available), display a "please wait" message to the user,
and restart the process.

Shane
_______________________________________________
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev

Reply via email to