# \[PATCH\] Problem with ruby 1.8.6-p36 (and p39) on Tiger

**URL:** <https://www.ruby-forum.com/t/patch-problem-with-ruby-1-8-6-p36-and-p39-on-tiger/109741>\
**Category:** Development\
**Created:** [July 18, 2007, 2:50pm UTC](https://www.ruby-forum.com/t/patch-problem-with-ruby-1-8-6-p36-and-p39-on-tiger/109741 "2007-07-18T14:50:50Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Vincent\_I](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/439d5e/32.png) [@Vincent\_I](https://www.ruby-forum.com/u/Vincent_I)\
**Post date:** [July 18, 2007, 2:50pm UTC](https://www.ruby-forum.com/t/patch-problem-with-ruby-1-8-6-p36-and-p39-on-tiger/109741/1 "2007-07-18T14:50:50Z")

</div>

ã“ã‚“ã«ã¡ã¯ã€  
ãƒãƒ³ã‚µãƒ³ã§ã™ã€‚

ã“ã®ãƒ¡ãƒ¼ãƒ«ã¯ã“ã®å‰ã€ruby-coreã«ï¼ˆruby-core:11584ï¼‰è‹±èªžã§é€ã£ãŸã‚“ã§ã™ã‘ã©ã€ç­”ãˆãŒãªã‹ã£ãŸã‹ã‚‰ruby-devã«ã€ä»Šå›žæ—¥æœ¬èªžã§ã€é€ã‚ã†ã¨æ€ã£ãŸã‚“ã§ã™â€¦

Mac OS Tiger(10.4)ã§ã¯ã€ã“ã†ã„ã†å•é¡ŒãŒã‚ã£ã¦ï¼š  
% ruby -ve ‘require “timeout” ; Timeout.timeout(5) { puts `df -h` }’  
ruby 1.8.6 (2007-06-07 patchlevel 36) [i686-darwin8.10.1]  
/usr/local/lib/ruby/1.8/timeout.rb:54: execution expired  
(Timeout::Error)  
from /usr/local/lib/ruby/1.8/timeout.rb:56:in `timeout’  
from -e:1

patchlevel  
39ã§ã‚‚åŒã˜å•é¡ŒãŒèµ·ã“ã‚Šã¾ã™ã€‚ã§ã™ã‘ã©–disable-pthreadsã‚’ã¤ã„ãŸã‚‰ã€ãã‚Œã¨ã‚‚1.8ã®ãƒ–ãƒ©ãƒ³ãƒã‚„1.8.6-p0ã§ã¯ã€å•é¡Œã¯èµ·ã“ã‚‰ãªã„ã§ã™ã€‚

ã‚‚ã£ã¨èª¿ã¹ãŸã‚‰ã€æ¸ˆã‚“ã§ãªã„é–¢æ•°ã¯rb\_thread\_cancel\_timer  
(eval.c)ã€‚ã“ã®é–¢æ•°ã¯1.8.6-p36ã‚„-p39ã ã‘ã§proc\_exec\_v (process.h)ã«å‘¼ã°ã‚Œã¦ã¾ã™ã€‚  
ãã—ã¦pthreadã‚’ä½¿ã‚ãªã„å ´åˆã€ã“ã®é–¢æ•°ãŒç©ºã£ã½ã«ãªã‚Šã¾ã™

ãã‚Œã§rb\_thread\_cancel\_timerã§å®Ÿéš›ã«ä½•ãŒèµ·ã“ã‚‹ã®ã‹ã€ãã—ã¦ã©ã†ã—ã¦Tigerä»¥å¤–ã®OSï¼ˆLinux,  
Leopardâ€¦ï¼‰ã§ã©ã†ã—ã¦å•é¡ŒãŒèµ·ã“ã‚‰ãªã„ã‹ã‚’èª¿ã¹ãŸã‚“ã§ã™ã€‚ç†ç”±ãŒTigerã®ãƒã‚°ã§ã‚ã‚‹ã¿ãŸã„ã§ã™ã€‚  
å®Ÿéš›ã«Rubyã®system()ã‚„``ã‚’ä½¿ã£ãŸã‚‰èµ·ã“ã‚‹ã®ãŒã“ã†ã„ã†ã“ã¨ï¼š  
ï¼Šãƒ—ãƒ­ã‚»ã‚¹ãŒãƒ•ã‚©ãƒ«ã‚¯ã•ã‚Œã¦ã€è¦ªãŒèˆˆå‘³ã‚ã‚‹ã“ã¨ã‚’ã—ãªã„ã€‚ã§ã‚‚å­ã¯ä»¥ä¸‹ã®ã“ã¨ã‚’ã™ã‚‹ã€‚  
ï¼Štimer  
threadã‚’killã™ã‚‹ãŸã‚ã«ã€rb\_thread\_cancel\_timerãŒå‘¼ã°ã‚Œã¦ã„ã‚‹ã€‚ã ã‘ã©ã“ã®ãƒ—ãƒ­ã‚»ã‚¹ã¯ãƒ•ã‚©ãƒ«ã‚¯ã§ä½œã‚‰ã‚Œã¦ã‚‹ã‹ã‚‰ã€timer  
threadãŒãªã„ï¼ˆforkã¯å­ã§ã¯current  
threadä»¥å¤–å…¨ã¦ã®threadã‚’æ®ºã™ï¼‰ã€‚ãã‚Œã§ã€å­ã®å¤‰æ•°ã®time\_threadãŒè¦ªã®threadã‚’å‚ç…§ã™ã‚‹ã€‚ã“ã®threadãŒã“ã®ãƒ—ãƒ­ã‚»ã‚¹ã®threadã§ãªã„ã‹ã‚‰å¤§éƒ¨åˆ†ã®OSã§ã¯rb\_thread\_cancel\_timerã®pthread\_cancelã¨pthread\_joinã®ä¸¡æ–¹ã‚‚å¤±æ•—ã™ã‚‹ã€‚ã‘ã©ã€Tigerã§ã¯pthread\_cancelãŒæˆåŠŸã™ã¦pthread\_cancelãŒæ°¸é ã«å¾…ã¤ã€‚

ã©ã†ã—ã¦rb\_thread\_cancel\_timerãŒå‘¼ã°ã‚ŒãŸã‹ã‚’èª¿ã¹ãŸã‚‰ï¼ˆruby-dev:30581ï¼‰ã€ã“ã‚Œã¯æ¶ˆã›ãªã„ã¨æ€ã„ã¾ã™ã€‚ã§ã‚‚Cã®forkã®å­ã‹ã‚‰ç›´æŽ¥å‘¼ã¶ã®ã‚‚ãƒ€ãƒ¡ã§ã™ã€‚

ã“ã®ãƒ¡ãƒ¼ãƒ«ã«å°ã•ã„ï¼ˆpthread\_atforkã‚’ä½¿ã£ã¦ã‚‹ï¼‰ãƒ‘ãƒƒãƒã‚’æ·»ä»˜ã—ãŸã‚“ã§ã™ã€‚ã§ã‚‚ã“ã®ãƒ‘ãƒƒãƒã¯æœ¬å½“ã«æ­£ã—ã„ç›´ã—æ–¹ã§ã‚ã‚‹ã‹ã©ã†ã‹â€¦ã‚ã‹ã‚‰ãªã„ã§ã™ã€‚

---

<div class="post-metadata">

**Author:** ![Vincent\_I](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/439d5e/32.png) [@Vincent\_I](https://www.ruby-forum.com/u/Vincent_I)\
**Post date:** [July 19, 2007, 3:48am UTC](https://www.ruby-forum.com/t/patch-problem-with-ruby-1-8-6-p36-and-p39-on-tiger/109741/2 "2007-07-19T03:48:12Z")

</div>

Vincent I. wrote:

> e$B$3$s$K$A$O!"e(B  
> e$B%P%s%5%s$G$9!#e(B

e$B$3$s$K$A$O!#e(B

> e$B$3$N%a!\<%k$O$3$NA0!"e(Bruby-coree$B$K!Je(Bruby-core:11584e$B!K1Q8l$GAw$C$?$s$G$9$1e(B  
> e$B$I!“Ez$($,$J$+$C$?$+$ie(B ruby-deve$B$K!”:#2sF|K\8l$G!"Aw$m$&$H;W$C$?$s$G$9!De(B

e$BJV?.DI$$IU$$$F$J$/$F$4$a$s$J$5$$!#e(Bruby-core:11584e$B$K$O5$$E$$$F$$$F!“8!F$e(B  
e$B$N7k2LAw$C$F$b$i$C$?%Q%C%A$GBg\>fIW$=$&$G$9!#e(B1.8.6e$B%V%i%s%A$K:NMQ$7$h$&$He(B  
e$B$\*$b$$$^$9!#$”$j$,$H$&$4$6$$$^$9!#e(B
