Martin Panter added the comment:

Marien’s pull request is for 2.7 and adds two new paths when raw_input is 
called:

* On Linux (actually glibc), use “poll” rather than “select”
* In other cases, if sys.stdin cannot be used with “select”, raise ValueError

Marien admits that even in the best case, some versions of the Readline library 
still crash because they use “select” themselves. Marien: can you identify 
which versions? Gnu Readline, or the wrapper in Editline? New versions vs 
superseded versions?

Assuming we add some catch-all behaviour like the ValueError, any further parts 
like the Linux “poll” implementation seem like new features, and are only 
appropriate for the next version of Python (3.7 atm). But it seems the bug 
would be hard to trigger in Python 3, so I doubt the Linux-specific 
implementation is worthwhile.

IMO the simplest solution may be to use one of the existing fallbacks if 
“select” is not usable. Either the other readline_until_enter_or_signal 
implementation (which hooks SIGINT rather than using the callback API), or 
PyOS_StdioReadline, or the raw_input fallback for non-interactive mode.

I would only bother with the complication of “poll” if there is a strong 
use-case. Gregory: do you really care if the “readline” module is used, or 
would a fallback like PyOS_StdioReadline be fine in your case (which is used if 
you never import the “readline” module)?

----------

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

Reply via email to