Nick Coghlan added the comment:

The consistency issue I was referring to related to the "timeout" argument - we 
currently have a patch applied to Fedora (and derivatives) that instead adds a 
"balanced=True" flag argument so you can pass "polling=False" to turn off the 
busy loop (at the risk of a long wake-up delay).

This means the current situation we have in Fedora (et al) is:

* Python 2 only code can pass "balanced=False" (but probably wouldn't want to 
due to the potential increase in wake-up latency)
* Python 3 only code can specify a timeout directly
* Single source Python 2/3 code can't do either (since the API signatures are 
different)

So downstream I'll be advocating in favour of Flavio's pthread patch regardless 
of what we do upstream - that way hybrid Python 2/3 code that's specific to the 
Fedora derived ecosystem (and we have a lot of that in the operating system 
layer) can eventually be updated to use threading timeouts while remaining 
consistent between Fedora (which is switching the system Python to Python 3) 
and RHEL/CentOS 7 (which will continue to use Python 2.7).

For upstream, I think it would be desirable to backport the timeout argument 
and simply have it throw RuntimeError if used with any of the backends other 
than thread_nt and thread_pthread. That way single source Python 2/3 code gains 
access to the timeout option, while code relying on one of the 
no-longer-available-in-Python-3 threading backends doesn't incur any stability 
risks.

However, I don't feel strongly enough about that to argue in favour of it 
against opposition - I'm happy enough to confine my argument to changing the 
downstream Fedora/RHEL/CentOS patch.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue25084>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to