this is a bug that was fixed as of 0.5rc2 but apparently was not  
backported to the 0.4 series.  The 0.4 branch is fixed in r5243.

On Nov 5, 2008, at 1:43 PM, Scott Torborg wrote:

>
> My Pylons application requires re-autoloading tables from time to
> time, so I am calling clear_mappers() before autoloading tables. I ran
> into an issue where clear_mappers() would hang and not return whenever
> it was run from within the web app, and found that _COMPILE_MUTEX was
> being acquired more times than it was being released.
>
> In particular, when the compile() function was re-entered it would
> acquire the mutex, but then return without releasing it. Adding a
> release() call before returning fixed the problem, but I'm not sure if
> this is the right thing to do. Is this actually a SQLAlchemy bug or am
> I just overlooking something?
>
> Here is the code in question, from mapper.py line 351:
>
> _COMPILE_MUTEX.acquire()
> global _already_compiling
> if _already_compiling:
>    # re-entrance to compile() occurs rarely, when a class-mapped
> construct is
>    # used within a ForeignKey, something that is possible
>    # when using the declarative layer
>    self.__initialize_properties()
>    _COMPILE_MUTEX.release() # <-- ADDED BY ME
>    return
> _already_compiling = True
>
> Thanks!
> Scott
>
> >


--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to