[Python-Dev] threading.Semaphore()'s counter can become negative for non-ints

T.B. bauertomer at gmail.com
Tue Jan 31 19:46:54 CET 2012

On 2012-01-31 00:23, Benjamin Peterson wrote:
> 2012/1/30 Nick Coghlan<ncoghlan at gmail.com>:
>> On Tue, Jan 31, 2012 at 8:11 AM, Matt Joiner<anacrolix at gmail.com>  wrote:
>>> It's also potentially lossy if you incremented and decremented until integer
>>> precision is lost. My vote is for an int type check. No casting.
>> operator.index() is built for that purpose (it's what we use these
>> days to restrict slicing to integers).
>> +1 for the type restriction from me.
> We don't need a type check. Just pass integers (obviously the only
> right type) to it.
When a float is used, think of debugging such a thing, e.g. a float from 
integer division. I don't care if float (or generally non-integers) are 
not allowed in threading.Semaphore, but please make it fail with a bang.


More information about the Python-Dev mailing list