#954: Race condition: assertion fails with IO.pipe, when checks size of String which had read from pipe. ----------------------------------+----------------------------------------- Reporter: watson1978@… | Owner: lsansonetti@… Type: defect | Status: new Priority: blocker | Milestone: Component: MacRuby | Keywords: ----------------------------------+----------------------------------------- Comment(by lsansonetti@…): The following works: {{{ r, w = IO.pipe s = "" t = Thread.new { r.read(5, s) } w.write "foobarbaz" sleep 0.5 true until s.size == 5 # crash p t.value p s }}} The problem is that the same string object cannot be passed to IO#read and perform String#size at the same time. -- Ticket URL: <http://www.macruby.org/trac/ticket/954#comment:2> MacRuby <http://macruby.org/>