Kernel#exec should not raise SystemExit
---------------------------------------

                 Key: JRUBY-2252
                 URL: http://jira.codehaus.org/browse/JRUBY-2252
             Project: JRuby
          Issue Type: Bug
          Components: Core Classes/Modules
    Affects Versions: JRuby 1.1RC2
         Environment: JRuby 1.1RC2, Linux, Windows
            Reporter: Vladimir Sizikov
            Priority: Minor
         Attachments: exec-test.rb

After fix for JRUBY-1988 (rev. 5634), the Kernel#exec method always raises 
SystemExit to simulate MRI's exec behavior, where exec'ed process replaces the 
original one. There is a minor problem with this approach - the raised 
SystemExit can be rescued from within the script, which is not possible in MRI. 
Ideally, we should raise in such a way that it's not possible to the parent 
script to see and rescue the exception. 

Attached test case shows the problem.

With MRI, the test run is replaced with the sub-process.
In JRuby, the SystemExit is raised (and rescued by the test, allowing to 
continue the execution):

{noformat}
  1) Failure:
test_exec_nothing_raised(ExecTest) [exec-test.rb:7]:
Exception raised:
Class: <SystemExit>
Message: <"exit">
---Backtrace---
exec-test.rb:7:in `test_exec_nothing_raised'
---------------
{noformat}


-- 
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


Reply via email to