Actions
Bug #7570
closedrb_fatal() in Fiber don't terminate process
    Bug #7570:
    rb_fatal() in Fiber don't terminate process
  
Description
rb_fatal() (C function) should terminate whole script.
Thread.start{
rb_fatal() # a extension library method calling rb_fatal()
}.resume
p :ng  # => never reached here
But rb_fatal() inside Fiber could be ignored.
Fiber.start{
rb_fatal()
}.resume
p :ng    # => reached here!
I think it's because TAG_FATAL is ignored in rb_vm_make_jump_tag_but_local_jump().
I'll attach a patch with a testcase.
Files
        
          
          Updated by ko1 (Koichi Sasada) almost 13 years ago
          
          
        
        
      
      - Assignee set to ko1 (Koichi Sasada)
 - Target version set to 2.0.0
 
Thank you for your report.
Your patch seems good and passed test-all on my environment.
Could you commit it?
        
          
          Updated by nagachika (Tomoyuki Chikanaga) almost 13 years ago
          
          
        
        
      
      - Status changed from Open to Closed
 
Thank you for your review.
I've committed at r38441.
Actions