Issue #5368 has been updated by tarui (Masaya Tarui).


1.8??®æ???????®æ?¹ã???????°ã?£ã?½ã????§ã??????????©ã?­ã??
Ctrl-C???ensure??®å??è¡????ä¿?証ã???????????çµ?????£ã?¦ã????¾ã????®ã?¯å¤§?????ªå???????¨æ???????¾ã?????
???Timeout???ensure???é£???°ã??????????®ã?§å?°ã?£ã??control_interrupt?????ªã?©ã??å°?¥ã???????????
?????¦ã???????®ã????¨ç??è§£ã????¦ã????¾ã?????kill -KILL?????ªã????¨æ­»??ªã?ªã???????­ã?»ã?¹ã?¯è?¯ã???????äº???§ã??
?????????ensure???å¿????å®?è¡????????????¨ã?????äº???¨ã?®ã????¬ã?¼ã????ªã???????¨æ???????¾ã?????

????????©ã?«ã????§ã?®æ???????§ã??Ctrl-C???Intrruptä¾?å¤????????????????????????«ã????¦ã??
ensureç¯?中ã?§ã??Intrruptä¾?å¤???«å¯¾??????:on_blocking??«ã????¦ã???????¦ã???????¨ã??
??¦ã?¼ã?¶ã?¼ã???????????:never??«ã?????äº??????ºæ?¥ã?¦å??è¡????ä¿?証ã?§ã??????????¤æ?®é?????ensure?????¸ã????¦ã???????«ã??
Ctrl-C??£æ????§ä??è¨?sleep???ioå¾???¡ã????­ã?£ã?³ã?»ã?«å?ºæ?¥ã?¦è?¯ã?????????????ªã????§ã????????????
(:immediate?????¨è¨­å®????å¤????????????¨ã????¦ã???????«ä??å¤????é£??????§æ?¥ã?¦é????°ã??????????½æ?§ã??????????®ã??)

----------------------------------------
Bug #5368: ensureç¯????sleep???????????????Thread???????????¨ã?¤ã?³ã?¿ã????ªã?¿ã??çµ?äº??????ªã??
https://bugs.ruby-lang.org/issues/5368#change-33979

Author: Glass_saga (Masaki Matsushita)
Status: Assigned
Priority: Normal
Assignee: matz (Yukihiro Matsumoto)
Category: core
Target version: 2.0.0
ruby -v: -


=begin
次ã?®ã?³ã?¼ã?????å®?è¡??????????CPU使ç?¨ç?????è·³ã?­ä???????£ã????¶æ????«ã?ªã????¤ã?³ã?¿ã????ªã?¿ã??çµ?äº??????¾ã????????

 Thread.new do
   begin
     sleep
   ensure
     sleep
   end
 end

??¨ã??rb_thread_terminate_all??§ã?¯æ????????1?????????????????¦ã???????¹ã?¬ã???????«å¯¾??????terminate_i???å®?è¡??????¦ã????¾ã????????ensureç¯????sleep???????????????Thread???????????¨ã????????Thread??¯å???????¾ã?¾ã?«ã?ªã?£ã?¦ã????¾ã??while(!rb_thread_alone())?????¡é????«ã?¼ã????«ã?ªã?£ã?¦ã????¾ã????¾ã?????

while(!rb_thread_alone())??®æ?????®ã?«ã?¼ã????§ã?«ã?¬ã?³ã????¹ã?¬ã??????????¡ã?¤ã?³ã?¹ã?¬ã???????§ã????£ã????´å????«ã??????????¦ã???????¹ã?¬ã???????«å¯¾??????terminate_i???å®?è¡????????????????patch?????¸ã???????¨ã?????????????®ã????°ã?¯å???????ªã???ªã????¾ã????????
patch???æ·»ä???????¾ã?????patch??®é?©ç?¨å?????test-all????????¹ã????¾ã?????
=end


-- 
http://bugs.ruby-lang.org/