On 06/09/2016 05:00 PM, Steve Dower wrote:
If the pattern is really going to be the hasattr check you posted earlier, can we just do it for people and save them writing code that won't work on different OSs?

No.  That's what got us into this mess in the first place.

3.5.0 and 3.5.1 *already* changed to the new behavior, and it resulted in the situation where CPython blocked forever at startup in these certain edge cases.  os.urandom() has been around for more than a decade, we can't unilaterally change its semantics now.  os.urandom() in 3.5 has to go back to how it behaved on Linux in 3.4.  And if I were release manager for 3.6, I'd say "it has to stay that way in 3.6 too".

However, Guido's already said "don't add os.getrandom() in 3.5", so the debate is somewhat irrelevant.


/arry