In message <20090331184858.47b8e1b3.ksmakoto / dd.iij4u.or.jp> on Tue, 31 Mar 2009 18:48:46 +0900, "KISHIMOTO, Makoto" <ksmakoto / dd.iij4u.or.jp> wrote: > http://redmine.ruby-lang.org/issues/show/270 にもある > 「FreeBSDやNetBSDは,一度 pthread を作ると,後始末をして > も fork 後,pthread を作ろうとすると刺さる」に関する件なのですが、 ... > これは OS 側のバグなんでしょうか、それとも POSIX 的にしょうがない > 仕様なんでしょうか。 > FreeBSD の send-pr を thread で検索してみた感じでは、報告されて > なさそうなので、バグということなら報告したいのですが。 完全に理解しているわけではありませんが、NetBSDのpthread_atfork(3)に、 CAVEATS After calling fork(2) from a multithreaded process, it is only safe to call async-signal-safe functions until calling one of the exec(3) func- tions. The pthread_*() functions are not async-signal-safe, so it is not safe to use such functions in the child handler. なんて書かれているあたりも関係ありそうに思えます。 -- 神戸 隆博 / Takahiro Kambe