for SQL expression purposes is still fine) [ticket:912]
- orm
+ - suppressing *all* errors in InstanceState.__cleanup() now.
+
- Fixed cascades on a += assignment to a list-based relation.
- synonyms can now be created against props that don't exist yet,
return
instance_dict = instance_dict()
- if instance_dict is None:
+ if instance_dict is None or instance_dict._mutex is None:
return
# the mutexing here is based on the assumption that gc.collect()
# which is normally operating upon the instance dict.
instance_dict._mutex.acquire()
try:
- # if instance_dict de-refed us, or it called our
- # _resurrect, return. again setting local copy
- # to avoid the rug being pulled in between
- id2 = self.instance_dict
- if id2 is None or id2() is None or self.obj() is not None:
- return
-
try:
self.__resurrect(instance_dict)
except:
- # catch GC exceptions
+ # catch app cleanup exceptions. no other way around this
+ # without warnings being produced
pass
finally:
instance_dict._mutex.release()