Hi all,

Solaris 9
Ruby 1.6.8 and 1.8.0p2

I noticed that when I run a TCPServer in debug mode, I hit Errno::EPIPE
errors.  Here are a couple quick scripts you can verify with - just
start the server in one terminal (with -d), then run the client in
another:

# tcpserv.rb
require "socket"
t = TCPServer.new("localhost",8888)
addr = t.addr
addr.shift

while true
   Thread.start(t.accept) do |s|
      while x = s.gets
         puts "Got: " + x
         s.puts(x)
      end
   end
end

# tcpclient.rb
require "socket"

s = TCPSocket.new("localhost",8888)

1.upto(100){
   s.puts("Hello","World")
   rv = s.gets
   puts "Received: #{rv}"
}

s.close

Running this code in standard mode seems to work fine, however.  I
tried: trap("PIPE","IGNORE") but that didn't seem to do anything. 
Should I use some other trap code?  Is this a bug?

Regards,

Dan

-- 
a = [74, 117, 115, 116, 32, 65, 110, 111, 116, 104, 101, 114, 32, 82]
a.push(117,98, 121, 32, 72, 97, 99, 107, 101, 114)
puts a.pack("C*")