Thread.c (fastthread)の状況

森脇です。

DebianでRubyをパッケージングしているのですが、ユーザから要望があったので、ちょっ
とお尋ねします。

1.8.6あたりで、fastthreadがマージされてthread.cができたことと思います。しかし、
そのユーザから、現在の1.8.6では"a couple serious bugs"があるので、それが既に修正
されているfastthreadをパッケージングするなり(Rubyにパッチをあてるなり)して欲し
いと言われています。

出典はここ[1]だそうで、

Shortly, the waitlist structures could become corrupted

とあります。しかし、昨年の3月から5æœˆé ƒã®è­°è«–ãªã®ã§ã€ãƒã‚°ãŒãã®ã¾ã¾æ”¾ç½®ã•ã‚Œã¦ã„ã‚‹
とも思えず、修正がRubyにマージ済み(または予定)なのであれば、fastthreadを別途
パッケージ化する必要はなくなります。fastthreadとのシンクロ具合は、いかがでしょう
か。thread.cのlogをみると、確かに2007å¹´3æœˆé ƒã«ã„ã‚ã„ã‚ã‚³ãƒŸãƒƒãƒˆãŒã‚ã‚‹ã‚ˆã†ãªã®ã§ã™
が。または、実際に積み残しになっているようなknown bugがあるのでしょうか。

[1]
http://groups.google.com/group/ruby-talk-google/browse_thread/thread/7933e7e987dad1c3

では。

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:34136] thread.c (fastthread)e$B$N>u67e(B”
on Wed, 26 Mar 2008 13:13:42 +0900, Daigo M.
[email protected] writes:

|1.8.6e$B$“$?$j$G!“e(Bfastthreade$B$,%^!<%8$5$l$Fe(Bthread.ce$B$,$G$-$?$3$H$H;W$$$^$9!#$7$+$7!“e(B
|e$B$=$N%f!<%6$+$i!“8=:$Ne(B1.8.6e$B$G$Oe(B"a couple serious bugs"e$B$,$“$k$N$G!”$=$l$,4{$K=$@5e(B
|e$B$5$l$F$$$ke(Bfastthreade$B$r%Q%C%1!<%8%s%0$9$k$J$j!Je(BRubye$B$K%Q%C%A$r$"$F$k$J$j!K$7$FM
$7e(B
|e$B$$$H8@$o$l$F$$$^$9!#e(B
|
|e$B=PE5$O$3$3e(B[1]e$B$@$=$&$G!“e(B
|
|> Shortly, the waitlist structures could become corrupted
|
|e$B$H$”$j$^$9!#$7$+$7!”:rG/$Ne(B3e$B7n$+$ie(B5e$B7n:”$N5DO@$J$N$G!”%P%0$,$=$N$^$^J|CV$5$l$F$$$ke(B
|e$B$H$b;W$($:!”=$@5$,e(BRubye$B$K%^!<%8:Q$!J$^$?$OM=Dj!K$J$N$G$"$l$P!“e(Bfastthreade$B$rJLESe(B
|e$B%Q%C%1!<%82=$9$kI,MW$O$J$/$J$j$^$9!#e(Bfastthreade$B$H$N%7%s%/%m6q9g$O!”$$$+$,$G$7$g$&e(B
|e$B$+!#e(Bthread.ce$B$Ne(Bloge$B$r$
$k$H!“3N$+$Ke(B2007e$BG/e(B3e$B7n:”$K$$$m$$$m%3%%C%H$,$“$k$h$&$J$N$G$9e(B
|e$B$,!#$^$?$O!”<B:]$K@Q$
;D$7$K$J$C$F$$$k$h$&$Je(Bknown buge$B$,$"$k$N$G$7$g$&$+!#e(B
|
|[1]
|http://groups.google.com/group/ruby-talk-google/browse_thread/thread/7933e7e987dad1c3
|
|e$B$G$O!#e(B

e$B40A4$K>u67$rGD0.$7$F$$$k$o$1$G$O$J$$$N$G$9$,!">e5-e(BURLe$B$N%Z!<e(B
e$B%8$K$Oe(B

I’m not sure what version that corresponds to offhand. This version of thread.c should be safe:

http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/ext/thr

-mental

e$B$H$“$j!”%j%]%8%H%j>e$GBP:v$7$F$$$k$3$H$,$&$+$,$($^$9!#e(B

e$B$J$+$@$G$9!#e(B

At Wed, 26 Mar 2008 13:32:55 +0900,
Yukihiro M. wrote in [ruby-dev:34137]:

e$B40A4$K>u67$rGD0.$7$F$$$k$o$1$G$O$J$$$N$G$9$,!">e5-e(BURLe$B$N%Z!<e(B
e$B%8$K$Oe(B

I’m not sure what version that corresponds to offhand. This version of thread.c should be safe:

http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/ext/thr

-mental

e$B$H$“$j!”%j%]%8%H%j>e$GBP:v$7$F$$$k$3$H$,$&$+$,$($^$9!#e(B

e$B:G=E$Ke(B1.8.6e$B%V%i%s%A$K%P%C%/%]!<%H$5$l$?$N$Oe(Br13495e$B$J$N$Ge(B
2007/9/23 patchlevel 110e$B$G$9!#e(B

e$BDI2C$7$F$*$/$H!“e(Bfastthreade$B$N:G?7$G$”$ke(B1.0.1e$B$K$O:G?7HG$G$O=$@5:Qe(B
e$B$NLdBj$,;D$C$F$$$^$9$N$G!">e5-0J>e$N%P!<%8%g%s$K$O%$%s%9%H!<%k$7e(B
e$B$J$$$G$/$@$5$$!#e(B

e$B?9OF$G$9!#e(B

e$BDI2C$7$F$*$/$H!“e(Bfastthreade$B$N:G?7$G$”$ke(B1.0.1e$B$K$O:G?7HG$G$O=$@5:Qe(B
e$B$NLdBj$,;D$C$F$$$^$9$N$G!">e5-0J>e$N%P!<%8%g%s$K$O%$%s%9%H!<%k$7e(B
e$B$J$$$G$/$@$5$$!#e(B

e$B$^$D$b$H$5$sCfED$5$s!"$"$j$,$H$&$4$6$$$^$9!#e(B
e$B8=>u$Ne(BRubye$B$GLdBj$J$$$H$$$&$3$H$G!"0B?4$7$^$7$?!#e(B

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