On 3/23/07, Nobuyoshi Nakada <nobu / ruby-lang.org> wrote:

> Sorry, it's a weird side effect of the fix for [ruby-core:9675].

Thanks for tracking this down, Nobu. I wrote up a test case for it -
can you include it when you commit the fix?

  require 'test/unit'
  require 'timeout'

  class TestAtExit < Test::Unit::TestCase
    def test_should_propagate_exit_code
      unless(fork{} rescue false) then return end
      pid = fork do
        at_exit{exit 2}
      end
      Timeout.timeout(10) do
        Process.waitpid pid
      end
      assert_equal 2, $?.exitstatus
    end
  end

knu and other Ruby 1.8 maintainers, this seems like a very serious
issue, since it will cause any test suite being run via automation to
give off false success messages. What's the proper way of rectifying
this issue? A patch level release of 1.8.6? An accelerated release of
1.8.7?

Thanks,


-- 
Nathaniel Talbott

<:((><