Kevin Barry added the comment:

emmanuel,

The Python interpreter isn't reentrant, so you could only run two interactive 
sessions connected to the same Python environment if you implemented your own 
REPL function that unlocked the GIL when waiting for input, then lock it just 
long enough to interpret the input.

Also, the readline module already does what you suggest (sets 
PyOS_ReadlineFunctionPointer to a GNU libreadline wrapper.) My "readline hack" 
(working.c) forces it to behave as it's supposed to. Rather, it *undoes* what 
PyRun_InteractiveLoop does every iteration, which is pass stdin/stdout for I/O, 
which libreadline in turn uses.

I agree that it would be nice to get a Python developer involved, mostly 
because I expect things to break when this problem is fixed. Bad things happen 
when you think you've tested a lot of different cases that actually turn out to 
be the exact same case.

Kevin Barry

----------

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

Reply via email to