[ruby-core:76295] [Ruby trunk Bug#12566] IO.copy_stream : tty/command-line events not being passed around

From: cardoso_tiago@...
Date: 2016-07-07 15:52:50 UTC
List: ruby-core #76295
Issue #12566 has been updated by Tiago Cardoso.


<pre>
$stdin.raw!
</pre> 

You can close, found the solution. 

----------------------------------------
Bug #12566: IO.copy_stream : tty/command-line events not being passed around
https://bugs.ruby-lang.org/issues/12566#change-59537

* Author: Tiago Cardoso
* Status: Open
* Priority: Normal
* Assignee: 
* ruby -v: 
* Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN
----------------------------------------
Coming from here: http://stackoverflow.com/questions/38248911/ruby-when-copying-streams-how-to-make-it-pass-input-characters

I don't know if the stdin is not flushing the special characters down the stack, or the leaf process stdout is not flushing upwards, but something is fishy in this:

<pre>
#!/usr/bin/env
require 'open3'                              
Open3.popen3("expect -") do |i, o, e, t|     
  Thread.start { IO.copy_stream(o, $stdout) }
  Thread.start { IO.copy_stream(e, $stderr) }
  i << "spawn bash\ninteract\nwait\nexit\n"  
  Thread.start { IO.copy_stream($stdin, i) } 
  t.value                                    
end  
#=> after executing, try "ls" and press tab
</pre>




-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:[email protected]?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next