# \[Bug: 1.9\] lazy timer thraed creation

**URL:** <https://www.ruby-forum.com/t/bug-1-9-lazy-timer-thraed-creation/142970>\
**Category:** Development\
**Created:** [July 14, 2008, 3:23am UTC](https://www.ruby-forum.com/t/bug-1-9-lazy-timer-thraed-creation/142970 "2008-07-14T03:23:49Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![SASADA\_Koichi](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/f1d935/32.png) [@SASADA\_Koichi](https://www.ruby-forum.com/u/SASADA_Koichi)\
**Post date:** [July 14, 2008, 3:23am UTC](https://www.ruby-forum.com/t/bug-1-9-lazy-timer-thraed-creation/142970/1 "2008-07-14T03:23:49Z")

</div>

e$B!!$5$5$@$G$9!%e(B

e$B!!8=:\_!$e(B1.9 e$B$G$Oe(B timer thread  
e$B$H$$$&$b$N$r5/F0;~$K:n$C$F!$0J2\<$NMQESe(B  
e$B$KMxMQ$7$F$$$^$9!%e(B

a) e$B%9%l%C%I%9%$%C%A$N7@5!e(B  
b) signal e$B$N=8Lse(B  
c) sampling profiling

e$B!!e(B(a) e$B$Oe(B SIGVTALRM e$B$NBe$o$j$K!$e(Bselect e$B$Ge(B polling  
e$B$7$F!$Dj4|E\*$Ke(B ruby  
threads e$B$KBP$7$F%9%l%C%I@Z$jBX$($rB%$7$^$9!%e(B

e$B!!e(B(b) e$B$O!$0lEYe(B signal e$B$re(B timer thread  
e$B$K=8Ls$7$F!$$=$N8ee(B ruby thread  
e$B$Ke(B signal e$B$N\>pJs$rEO$9$h$&$K\<BAu$7$F$$$^$9!%e(B

e$B!!e(B© e$B$O!$$"$^$j3hMQ$5$l$F$$$^$;$s$,!$e(Bsampling profiler  
e$B$H$7$FMxMQ$9e(B  
e$B$k$3$H$,$G$-$^$9!%:#8e$N3HD%MQ$G$9!%e(B

e$B!!$?$@!$:G6a$Ne(BFreeBSDe$B$de(BNetBSDe$B$O!$0lEYe(B pthread  
e$B$r:n$k$H!$8e;OKv$r$7$Fe(B  
e$B$be(B fork e$B8e!$e(Bpthread e$B$r:n$m$&$H$9$k$H;I$5$k$N$G!$I,$:e(B  
timer thread e$B$re(B  
e$B:n$ke(B 1.9 e$B$G$Oe(B fork e$B$,=PMh$^$;$s!%$=$3$G!$:G=i$Ke(B  
Thread.new e$B$9$k$^e(B  
e$B$G!$$D$^$j!$%^%k%A%9%l%C%I\<B9T$r9T$&$^$Ge(B timer thread  
e$B$NCY1d$rCY$i$;e(B  
e$B$k$h$&$JDs0F$r\<u$1$F$$$^$9!%e(B

e$B!!e(B(b) e$B$K4X$7$F$O\<BAu$K$D$$$F%1%"$,I,MW$G!J$3$l$^$G!$e(Bruby  
thread e$B$Ge(B  
signal e$B$r\<u$1$k?4G[$r$9$kI,MW$,$J$+$C$?!K!$e(B©  
e$B$K$D$$$F$O$"$-$i$a$Je(B  
e$B$1$l$P$J$j$^$;$s$,!$e(BFreeBSD, NetBSD e$B$J$I$N9-$/MxMQ$5$l$F$$$ke(B  
OS e$B$Ge(B  
fork e$B$,F0$+$J$$$N$O$^$:$+$m$&!$$H$$$&0U8+$G$9!%e(B

e$B!!e(Bfork  
e$B$r$3$l0J\>e;H$&$J!$$H$$$&0U8+$b$"$k$+$H$O;W$$$^$9$,!$$3$NDs0Fe(B  
e$B$K$D$$$F$OA08~$-$K8!F$$7$F$$$-$^$9!%e(B

e$B!!K:$l$J$$$h$&$Ke(B redmine e$B$KEPO?$7$F$\*$-$^$9!%e(B

e$B!!$40U8+Jg=8Cf$G$9!%e(B

---

<div class="post-metadata">

**Author:** ![SASADA\_Koichi](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/f1d935/32.png) [@SASADA\_Koichi](https://www.ruby-forum.com/u/SASADA_Koichi)\
**Post date:** [January 21, 2010, 5:54pm UTC](https://www.ruby-forum.com/t/bug-1-9-lazy-timer-thraed-creation/142970/2 "2010-01-21T17:54:25Z")

</div>

e$B%A%1%C%He(B #270 e$B$,99?7$5$l$^$7$?!#e(B (by Yui NARUSE)

e$B%9%F!\<%?%9e(B Opene$B$+$ie(BClosede$B$KJQ99e(B  
ruby -v ruby 1.8.8dev (2010-01-17 revision 26335) [i386-netbsdelf5.0.1]  
e$B$K%;%C%He(B

e$BK\7o$G$9$,!“$^$:e(B FreeBSD 7.2 e$B$”$?$j!“e(BNetBSD 5.0  
e$B$”$?$j$Ge(B OS e$BB&$KBP=h$,F~$j!"e(B  
pthread e$B$r;H$C$?8e$Ge(B fork  
e$B$7$F$b;I$5$i$J$$$h$&$K$J$C$?$h$&$G$9!#e(B  
(e$BC/$+%3%\_%C%H$NFCDj$h$m$7$/e(B)

## e$B$^$?!“4XO”$9$ke(B #2603 r26371 e$B$+$iF@$i$l$?CN8+$rDI5-$9$k$H!“e(B 01:04 (unak) e$B:#F|$N$^$H$ae(B 01:05 (unak) NetBSDe$B$Ne(Bpthread\_atfork()e$B$d$P$$e(B 01:05 (unak) e$B$H$$$&$+!“e(Bpthread\_atfork()e$B$NCf$Ge(Bpthread\_create()e$B$7$A$c$$$1$J$$$s$@$m$&$M!#e(B 01:06 (unak) e$B$”$”!“$b$&0l8D$”$C$?!#e(B 01:07 (unak) NetBSDe$B$@$He(Bfork()e$BA0$KM\>J,$J%9%l%C%I$r;&$7$F$\*$/$N$,5He(B… … … 01:44 (unak) parent handere$B$Ge(Bpthread\_create()e$B$,8F$V$H;I$5$k$N$O$J$s$+JQ$J$N$G!"$3$l$Oe(BOSe$BB&$GBP1~$7$F$[$7$$$M!#e(B e$B$H$$$&$3$H$K$J$k$h$&$G$9!#e(B

[http://redmine.ruby-lang.org/issues/show/270](http://redmine.ruby-lang.org/issues/show/270)

---

<div class="post-metadata">

**Author:** ![SASADA\_Koichi](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/f1d935/32.png) [@SASADA\_Koichi](https://www.ruby-forum.com/u/SASADA_Koichi)\
**Post date:** [January 22, 2010, 2:39am UTC](https://www.ruby-forum.com/t/bug-1-9-lazy-timer-thraed-creation/142970/3 "2010-01-22T02:39:29Z")

</div>

e$B$3$s$K$A$O!"$J$+$`$ie(B(e$B$&e(B)e$B$G$9!#e(B

In message “[ruby-dev:40127] Re: Bug #270 lazy timer thraed  
creation”  
on Jan.22,2010 08:54:15, [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> e$BKM$NCN8+$Oe(B
> 
> pthread\_atfork(0, 0, rb\_thread\_stop\_timer); e$B$O%@%a$J;Re(B
> 
> e$B$K$D$-$k$h$&$J!#$3$N;R$,0UL#$,$“$k%W%i%C%H%U%)!\<%`!”$"$k$s$@$m$&$+!&!&!&e(B

e$B$G$9$h$M!\<!#e(B  
e$B;R%W%m%;%9B&$G$Oe(Btimer threade$B$O;`$s$G$k$K7h$^$C$F$k$s$@$7e(B…

e$B$=$l$G$O!#e(B

---

<div class="post-metadata">

**Author:** ![SASADA\_Koichi](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/f1d935/32.png) [@SASADA\_Koichi](https://www.ruby-forum.com/u/SASADA_Koichi)\
**Post date:** [January 22, 2010, 12:54am UTC](https://www.ruby-forum.com/t/bug-1-9-lazy-timer-thraed-creation/142970/4 "2010-01-22T00:54:43Z")

</div>

> 01:04 (unak) e$B:#F|$N$^$H$ae(B  
> 01:05 (unak) NetBSDe$B$Ne(Bpthread\_atfork()e$B$d$P$$e(B  
> 01:05 (unak) e$B$H$$$&$+!“e(Bpthread\_atfork()e$B$NCf$Ge(Bpthread\_create()e$B$7$A$c$$$1$J$$$s$@$m$&$M!#e(B  
> 01:06 (unak) e$B$”$"!"$b$&0l8D$"$C$?!#e(B  
> 01:07 (unak) NetBSDe$B$@$He(Bfork()e$BA0$KM\>J,$J%9%l%C%I$r;&$7$F$\*$/$N$,5He(B… … …  
> 01:44 (unak) parent handere$B$Ge(Bpthread\_create()e$B$,8F$V$H;I$5$k$N$O$J$s$+JQ$J$N$G!"$3$l$Oe(BOSe$BB&$GBP1~$7$F$[$7$$$M!#e(B  
> e$B$H$$$&$3$H$K$J$k$h$&$G$9!#e(B

e$BKM$NCN8+$Oe(B

pthread\_atfork(0, 0, rb\_thread\_stop\_timer); e$B$O%@%a$J;Re(B

e$B$K$D$-$k$h$&$J!#$3$N;R$,0UL#$,$"$k%W%i%C%H%U%)!\<%`!"$"$k$s$@$m$&$+!&!&!&e(B
