On Fri, 14 Sep 2007 17:43:39 -0400, James Y Knight <[EMAIL PROTECTED]> wrote:
>
>On Sep 14, 2007, at 3:30 PM, Jean-Paul Calderone wrote:
>>On Fri, 14 Sep 2007 14:13:47 -0500, Justin Tulloss  <[EMAIL PROTECTED]> 
>>wrote:
>>>Your idea can be combined with the maxint/2 initial refcount for
>>>>non-disposable objects, which should about eliminate thread-count 
>>>>updates
>>>>for them.
>>>>--
>>>
>>>I don't really like the maxint/2 idea because it requires us to
>>>differentiate between globals and everything else. Plus, it's a  hack. I'd
>>>like a more elegant solution if possible.
>>
>>It's not really a solution either.  If your program runs for a couple
>>minutes and then exits, maybe it won't trigger some catastrophic  behavior
>>from this hack, but if you have a long running process then you're  almost
>>certain to be screwed over by this (it wouldn't even have to be *very*
>>long running - a month or two could do it on a 32bit platform).
>
>Not true: the refcount becoming 0 only calls a dealloc function.. For 
>objects which are not deletable, the dealloc function should simply  set the 
>refcount back to maxint/2. Done.
>

So, eg, replace the Py_FatalError in none_dealloc with an assignment to
ob_refcnt?  Good point, sounds like it could work (I'm pretty sure you
know more about deallocation in CPython than I :).

Jean-Paul
_______________________________________________
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