hixの日記: スレ
日記 by
hix
perl-5.8.1のthreads は、use encoding とか、binmode( STDOUT => ':encoding(eucjp)' ) とかするとSegmentation faultでオチるっぽい。
これがLinuxでもWindowsでも同じような動きをする辺りがスゴいというか、なんと言うか…。
Win32版のPerl-5.8.4 だと0x18を読み取りで参照してオチているので、NULLポインタな構造体をアクセスしている模様。
きちんと追っかけていないのでなんとも言えないけれど、フックとかSIGとかの辺りでヤバいことになってるんじゃないかな?
perl-5.8.5で治ってるとありがたい。
# ディストリ古くてパッケージが無いのでPerlをソースからリビルド中
追
perl-5.8.5でも同じ。
use encoding したら threads は使っちゃダメってことだね。
マルチスレッドは諦めて、昔ながらのfork()を使えと。
変数の排他制御がイヤなのだけれど…
# 後始末をきちんとしないとセマフォがいっぱいになって、外部からの後始末用のコードを別に書くかシステムのリブートが必要になる...
これがLinuxでもWindowsでも同じような動きをする辺りがスゴいというか、なんと言うか…。
Win32版のPerl-5.8.4 だと0x18を読み取りで参照してオチているので、NULLポインタな構造体をアクセスしている模様。
きちんと追っかけていないのでなんとも言えないけれど、フックとかSIGとかの辺りでヤバいことになってるんじゃないかな?
perl-5.8.5で治ってるとありがたい。
# ディストリ古くてパッケージが無いのでPerlをソースからリビルド中
追
perl-5.8.5でも同じ。
use encoding したら threads は使っちゃダメってことだね。
マルチスレッドは諦めて、昔ながらのfork()を使えと。
変数の排他制御がイヤなのだけれど…
# 後始末をきちんとしないとセマフォがいっぱいになって、外部からの後始末用のコードを別に書くかシステムのリブートが必要になる...
スレ More ログイン