I slightly tried more with t226.rb failure,
it is timing dependent, the problem is
at the end in thread.join.

Might be bug in design of system pthread library,
too much optimizing compiler or bug in ruby thread library.

The ruby1.8_1.8.7.174-2, compiled on Aug 19 passes
the same test repeatedly fine.

Petr


     begin
       require "io/nonblock"
       r, w = IO.pipe
       w.nonblock = true
       w.write_nonblock("a" * 100000)
       w.nonblock = false
       t1 = Thread.new { w.write("b" * 4096) }
       t2 = Thread.new { w.write("c" * 4096) }
       sleep 0.5
       puts 'Hello ' + String(r.sysread(4096).length)
       sleep 0.5
       puts 'Hello ' + String(r.sysread(4096).length)
       sleep 0.5
       puts 'Hello ' + String(t1.join(5))
       puts 'Hello ' + String(t2.join(5))
     rescue LoadError
     end



$ ruby1.9.1 /tmp/t226.rb
Hello 4096
Hello 4096
Hello #<Thread:0x00000000608f30>
Hello #<Thread:0x00000000608d00>
$ ruby1.9.1 /tmp/t226.rb
Hello 4096
Hello 4096
Hello
Hello #<Thread:0x00000000608d00>
$ ruby1.9.1 /tmp/t226.rb
Hello 4096
Hello 4096
Hello
Hello #<Thread:0x00000000608d00>
$  ruby1.9.1 /tmp/t226.rb
Hello 4096
Hello 4096
Hello #<Thread:0x00000000608f30>
Hello




--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to