Issue #5368 has been updated by kosaki (Motohiro KOSAKI).


読ã?¿è???????¾ã????????[Feature #1952] ??¨ã?¡ã????£ã?¨ä¼¼???話ã?§ç??äº????中ã?§ä??å¤?é£????????¦ã????¾ã?£ã??????????¨ã?????話ã?®ã???????§ã????­ã??è«???¹ã????¾ã?¨ã????????

 - ensureç¯???®ä¸­???sleepç­??????¡é??å¾???¡ã??è¨?è¿°ã???????¦ã???????¨ã???³ã?°ã????¦ã????¾ã?????????????¯ã????°ã?§ã?¯ã?ªã????? (Glass_saga)
 - ?????®å?´å??æ­¢ã?¾ã?£ã?¦ã???????®ã?¯ã?µã????¹ã?¬ã???????ªã?®ã?§ã??Ctrl-c??¯æ???³ã????¡ã???????¡ã?¤ã?³ã?¹ã?¬ã????????é£???£ã?¦ç?¡è???????¦ã????¾ã??
 - ??????????????¿ã?¤ã????¢ã?¦ã??ç­??????¤ã??????¨ç??äº???¦ç????«æ???????®ã??????????¹ã?¯ã?ªã????????å£??????¦ã????¾ã?? (ko1)
 - ensureç¯?å®?è¡?中ã??terminate????????????ensure????????¦ã????¾ã????®ã?§è??èª?ä»?æ§???¨ã????¦ã?¤ã????¤ã?¾ã???????£ã?¦ã?ªã?? (é«?å°¾ã?????ï¼?
 - sleep??§å????¦ã????¦ã???????????ä¸?度ä??å¤????ä¸??????£ã?¦ã???????????????????¹ã????§ã?¯ï?? ï¼???? ?????????????????????ªã????? Ctrl-C??????????????¡ã?¤ã?³ã?¹ã?¬ã????????thread terminate?????????????????¨ã??????????¨ï??ï¼?
 - Ctrl-c äº???£æ????§ã??çµ?äº???¦ç???????¹ã????????????????®ã?£ã?¦æ?¬å????«ã???????????ï¼?ï¼??????????ï¼?
 - ??¨ã??main thread???sub thread??®ç??äº????å¾???¤ã?­ã?¸ã????¯ã???????¸ã?¼ã?«ã?¼ã????ªã?®ã??CPU100%??«ã?ªã?£ã?¦ã????¾ã???????¹ã?¬ã????????çµ?äº?????????¾ã?§ã?¡ã???????¨å???????¹ã????§ã?¯ã?ªã????®ã??
   ï¼?????????±ç??ï¼?

???????????§ã???????­ã??

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

Author: Glass_saga (Masaki Matsushita)
Status: Assigned
Priority: High
Assignee: kosaki (Motohiro KOSAKI)
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/