From: Robert Klemme Date: 2013-05-26T03:37:36+09:00 Subject: Re: Slow reading output from Open3.popen3?? --20cf3074d2228a642e04dd8f357e Content-Type: text/plain; charset=ISO-8859-1 On Thu, May 23, 2013 at 4:24 AM, Thomas Luedeke wrote: > Thanks, guys. I found a workaround (i.e. redirect), but I think I'll > play around to see if the suggestions give me what I want. It is true, > the amount of data I'm reading may be quite large, which would cause the > problem. > The problem you will be facing most probably is a deadlock. Your "make" or any process started by it may write to stdout and to stderr and the process will be put to sleep if the buffer of stderr fills up (from which you do not read) as Jeremy explained already. That will also block any other activity of the process unless they use infinite buffering internally and asynchronous output (which there is no reason to do so it's unlikely). Cheers robert -- remember.guy do |as, often| as.you_can - without end http://blog.rubybestpractices.com/ --20cf3074d2228a642e04dd8f357e Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable



On Thu, May 23, 2013 at 4:24 AM, Thomas Luedeke &= lt;lists@ruby-for= um.com> wrote:
Thanks, guys. =A0I found a workaround (i.e. = redirect), but I think I'll
play around to see if the suggestions give me what I want. =A0It is true, the amount of data I'm reading may be quite large, which would cause th= e
problem.

The problem you will be = facing most probably is a deadlock. =A0Your "make" or any process= started by it may write to stdout and to stderr and the process will be pu= t to sleep if the buffer of stderr fills up (from which you do not read) as= Jeremy explained already. =A0That will also block any other activity of th= e process unless they use infinite buffering internally and asynchronous ou= tput (which there is no reason to do so it's unlikely).

Cheers

robert


--
remember.guy do = |as, often| as.you_can - without end
http://blog.rubybestpractices.com/
--20cf3074d2228a642e04dd8f357e--