MRI inconsistency: JRuby doesn't appear to run 'ensure' code when it receives a
kill signal.
---------------------------------------------------------------------------------------------
Key: JRUBY-4610
URL: http://jira.codehaus.org/browse/JRUBY-4610
Project: JRuby
Issue Type: Bug
Components: Interpreter
Affects Versions: JRuby 1.4
Environment: CentOS, OS X 10.5, OS X 10.6
Reporter: Abhi Hiremagalur
Attachments: kill_ensure.rb, test_kill_ensure.rb
JRuby doesn't appear to run 'ensure' code when it receives a kill signal. MRI
1.8.7 on the other hand always runs 'ensure' blocks when it receives a 'kill
-HUP' or 'kill -INT'
This means any resources that are cleaned up gracefully via an ensure block
don't get cleaned up when the JRuby process is terminated with a 'kill -HUP' or
'kill -QUIT'
We've attached tests for this issue, the MRI test passes but the JRUBY test
fails. MRI (ruby) and JRuby (jruby) need to be on the PATH for this test to run.
$ ruby test_kill_ensure.rb -v
Loaded suite test_kill_ensure
Started
test_kill_ensure_with_jruby(TestKillEnsure): F
test_kill_ensure_with_ruby(TestKillEnsure): .
Finished in 2.930825 seconds.
1) Failure:
test_kill_ensure_with_jruby(TestKillEnsure) [test_kill_ensure.rb:12]:
<false> is not true.
2 tests, 2 assertions, 1 failures, 0 errors
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email