Hello all

This was perviously under subject:
BUG: net/telnet.rb gives select invalid argument excepition
http://www.ruby-talk.com/cgi-bin/scat.rb/ruby/ruby-talk/25160

But I want raise this issue again as I think that this really
is a ruby bug.

Ville Mattila <mulperi / iki.fi> writes:

> ts <decoux / moulon.inra.fr> writes:
> 
> > >>>>> "V" == Ville Mattila <mulperi / iki.fi> writes:
> > 
> > V> This is the telnet part of the build script:
> > V>     begin
> > V>     tn = Net::Telnet::new({"Host" => build_hosts[platform],
> > V>                             "Timeout" => 480,
> > V>                             "Waittime" => 5
> > V>                           }){|line| print line}			       
> >  Well, I can't reproduce the problem with this script
> > 
> 
 Ok I think I found the cause. We are interrupted in poll then
 weird things start happen. Here is truss output about the situation
 
 
 1804:	read(6, " e c h o   t i m e s t a".., 1048576)	= 31
 1804:	write(1, " e c h o   t i m e s t a".., 30)	= 30
 1804:	poll(0xFFBEA628, 1, 480000)			= 1
 1804:		fd=6  ev=POLLRDNORM rev=POLLRDNORM
 1804:	read(6, " / b i n / s h   . . / l".., 1048576)	= 129
 1804:	write(1, " / b i n / s h   . . / l".., 128)	= 128
 1804:	    Received signal #28, SIGVTALRM, in poll() [caught]
 1804:	poll(0xFFBEA628, 1, 480000)			Err#91 ERESTART
 1804:		fd=6  ev=POLLRDNORM rev=0x4057 
 1804:	setcontext(0xFFBEA310)
 1804:	sigprocmask(SIG_SETMASK, 0x000BD250, 0x00000000) = 0
 1804:		 set = 0 0 0 0
 1804:	write(1, " I n v a l i d   a r g u".., 17)	= 17
 1804:	write(1, " / s b / t b / t o o l b".., 82)	= 82
 1804:	write(1, " / s b / t b / t o o l b".., 83)	= 83
 1804:	write(1, " / s b / t b / t o o l b".., 79)	= 79
 1804:	write(1, " / s b / d e v / w o r k".., 63)	= 63
 1804:	write(1, " / s b / d e v / w o r k".., 56)	= 56
 1804:	write(1, " . / s b t o o l s / s b".., 36)	= 36
 1804:	write(1, " . / s b t o o l s / s b".., 36)	= 36
 1804:	write(1, " . / s b t o o l s / s b".., 36)	= 36
 1804:	write(1, " . / s b t o o l s / s b".., 36)	= 36
 1804:	write(1, " . / s b t o o l s / s b".., 36)	= 36
 1804:	write(1, " . / s b t o o l s / s b".., 26)	= 26
 1804:	open("/sb/dev/work/releases/current-releases/sbfc-3.0.3033_linux_fixed_snmp/buildlog.linux", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3
 ...
 
  Will this help to fix ruby at all?
 
  - Ville