This project is closed and read-only.
Backport #8064
closedr39687 - io.c (rb_update_max_fd): use ATOMIC_CAS のバックポート
Description
現状、1.9.3と2.0において、rb_update_max_fdが排他制御されずに呼ばれているので最大FDを間違って更新し、
結果fd leakにつながる可能性があります。
これはsensitive dataのリークにつながるかどうかはスクリプト次第ですが、塞いでおいたほうが心の安全が図れそうです
Updated by nagachika (Tomoyuki Chikanaga) over 13 years ago
r39687 と一緒に変数の型を変更している r39776 もバックポートしようと思います。
Updated by kosaki (Motohiro KOSAKI) over 13 years ago
あ、すいません。これちょっと待ってください。
r39687書いたときはちょっと考慮できていなかったのですが、型を変更してしまうとどこが壊れるかわからないので、
素直にmutex導入して、変更最小限修正に出来ないか一度考えたい。
Updated by nagachika (Tomoyuki Chikanaga) over 13 years ago
こちらどうでしょうか。急がなくてもいいと思いますが、r39687 だけ入れていてもあまり意味はないでしょうか?
Updated by kosaki (Motohiro KOSAKI) over 13 years ago
見なおしたけど r40438 入れれば、触ってる場所一箇所になるから僕的に許せる感じ。
Updated by nagachika (Tomoyuki Chikanaga) over 13 years ago
ありがとうございます。
一旦 r39687, r39776, r40438 をマージして閉じようと思います。
追加で変更があればまた backport チケットを作ってください。
Updated by nagachika (Tomoyuki Chikanaga) over 13 years ago
- Status changed from Assigned to Closed
- % Done changed from 0 to 100
This issue was solved with changeset r40490.
Motohiro, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
merge revision(s) 39687,39776,40438: [Backport #8064]