<div dir="ltr"><div><div>In the test1 case do you get the shell prompt? Or nothing?<br><br></div>If you get the shell prompt what happens when you enter a new shell command? Do you then see the 'enter a term> ' prompt? Or just see a new shell prompt?<br>

<br></div>Robert<br><br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On 13 March 2014 14:04, Joe Armstrong <span dir="ltr"><<a href="mailto:erlang@gmail.com" target="_blank">erlang@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>%% There is a strange bug in the interaction of the shell with</div><div>%% terminal io.</div><div>

<br></div><div>%% If I run </div><div><br></div><div>%%  1> bug:test1().</div><div>%%  <0.46.0></div>
<div><br></div><div>%% Then the prompt is not written out</div><div><br></div><div>%% If I add a timeout after the function it works</div><div>%% But only if I type a value in before ten seconds</div><div><br></div><div>

%% 2> bug:test2().</div>
<div>%% enter a term >abc.</div><div>%% N={ok,abc}     </div><div>%% true      </div><div><br></div><div>%% But AFTER Typing a line the prompt is repeated and the prompt</div><div>%% vanishes after ten seconds</div><div>


<br></div><div>%% If I wait 10 seconds and don't type anything</div><div>%% the ' enter a term' prompt is written</div><div>%% and then *removed* after 10 seconds</div><div><br></div><div>%% If the command started in the shell terminates immediately</div>


<div><br></div><div>-module(bug).</div><div>-export([test1/0, test2/0]).</div><div><br></div><div>test1() -></div><div>    spawn(fun() -></div><div><span style="white-space:pre-wrap">               </span>  N = io:read(' enter a term >'),</div>


<div><span style="white-space:pre-wrap">          </span>  io:format("N=~p~n",[N])</div><div><span style="white-space:pre-wrap">     </span>  end).</div><div><br></div><div>test2() -></div><div>    spawn(fun() -></div>


<div><span style="white-space:pre-wrap">          </span>  N = io:read(' enter a term >'),</div><div><span style="white-space:pre-wrap">            </span>  io:format("N=~p~n",[N])</div><div><span style="white-space:pre-wrap">     </span>  end),</div>


<div>    receive</div><div><span style="white-space:pre-wrap">      </span>after 10000 -></div><div><span style="white-space:pre-wrap">                </span>true</div><div><span style="white-space:pre-wrap">     </span>end.</div><span class="HOEnZb"><font color="#888888">
<div><br></div><div>/Joe</div></font></span></div>
<br>_______________________________________________<br>
erlang-bugs mailing list<br>
<a href="mailto:erlang-bugs@erlang.org">erlang-bugs@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-bugs" target="_blank">http://erlang.org/mailman/listinfo/erlang-bugs</a><br>
<br></blockquote></div><br></div>