So it turns out that in my script to reproduce the problem with just Pool (http://deadbeefbabe.org/paste/3447) the reason the ConnectionFairy __del__ isn't getting called after the exception is, python's internal exception structures still have a reference to it. If you change except: print to except: sys.exc_clear() the problem goes away. (The problem of indefinite hanging, that is.)
Unfortunately I can't think of a way to fix this other than not relying on __del__ and saying, "thou shalt wrap all connection usage with try/finally: close()." Which isn't bad in 2.5 (with new ContextManager support) but kinda bites in earlier pythons. I'm willing to make this change if you want. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---
