On Thu, 2007-09-13 at 13:15 +0200, "Martin v. Löwis" wrote:
> > To put it another way, would it actually matter if the reference
> > counts for such objects became hopelessly wrong due to non-atomic
> > adjustments?
> 
> If they drop to zero (which may happen due to non-atomic adjustments),
> Python will try to release the static memory, which will crash the
> malloc implementation.

More precisely, Python will call the deallocator appropriate for the
object type.  If that deallocator does nothing, the object continues to
live.  Such objects could also start out with a refcount of sys.maxint
or so to ensure that calls to the no-op deallocator are unlikely.

The part I don't understand is how Python would know which objects are
global/static.  Testing for such a thing sounds like something that
would be slower than atomic incref/decref.


_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to