From: KOSAKI Motohiro Date: 2010-01-22T08:54:15+09:00 Subject: [ruby-dev:40127] Re: [Bug #270](Closed) lazy timer thraed creation > チケット #270 が更新されました。 (by Yui NARUSE) > > ステータス OpenからClosedに変更 > ruby -v ruby 1.8.8dev (2010-01-17 revision 26335) [i386-netbsdelf5.0.1] にセット > > 本件ですが、まず FreeBSD 7.2 あたり、NetBSD 5.0 あたりで OS 側に対処が入り、 > pthread を使った後で fork しても刺さらないようになったようです。 > (誰かコミットの特定よろしく) > > また、関連する #2603 r26371 から得られた知見を追記すると、 > 01:04 (unak) 今日のまとめ > 01:05 (unak) NetBSDのpthread_atfork()やばい > 01:05 (unak) というか、pthread_atfork()の中でpthread_create()しちゃいけないんだろうね。 > 01:06 (unak) ああ、もう一個あった。 > 01:07 (unak) NetBSDだとfork()前に余分なスレッドを殺しておくのが吉... ... ... > 01:44 (unak) parent handerでpthread_create()が呼ぶと刺さるのはなんか変なので、これはOS側で対応してほしいね。 > ということになるようです。 僕の知見は pthread_atfork(0, 0, rb_thread_stop_timer); はダメな子 につきるような。この子が意味があるプラットフォーム、あるんだろうか・・・