tsuwaroi
np1b6****@hotma*****
2009年 5月 24日 (日) 00:20:37 JST
こんにちは、ツワロイです。 OpenBSDでGauche-0.8.14をビルドするためのパッチです。 zaurus-openbsd4.5でビルドし、テスト(後述のパッチ込み)が全部通ることを確認しました。 OpenBSD4.5から晴れてportsでBoehm-GCのpthread対応パッチがリリースされたので ついにフルスペックのGaucheが使えるようになりました。(たぶん。まだテストを通しただけ) portsに数リリース前からpthread対応コードが徐々に追加されてたので 独自にpthread対応版を作るとコンフリクトしてしまうと思って放置しておいて正解でした。 (逃げてたともいう:-p) が!make checkのsystem testが二日経っても終わらないので調べてみたところ sigalrmのテストでSIGALRMが受け取れず、無限ループに陥っていました。 pthreadを有効にすると、sys-forkで生成した子プロセスから必ずSIGCHLDが送られてくるようになってしまうようです。 なのでSIGALRMを期待するコードに(それ以前のコードが生成した子プロセスから)SIGCHLDが送られてきてエラーになっていました。 (pthread無効verではそのようなことは起こらず、また、GC_DONT_GCしても解決しないので、GCに失敗して起こる現象ではなさそう) そこでsystem test内のsys-waitとsys-waitpidをSIGCHLDのハンドラで包んで強引にテストに通してみました。 テストコードは無パッチで通せるようにしたいので、とりあえずαバージョンとして送らせていただきます。 しかしながら、私の力量ではちょっと解決が難しそうなのでお知恵を拝借したく存じます。 よろしくお願いします。 _________________________________________________________________ Hotmail史上最速!さらに容量無制限に! http://go.windowslive.jp/newhm/ -------------- next part -------------- テキスト形式以外の添付ファイルを保管しました... ファイル名: Gauche-0.8.14-openbsd.diff 型: application/octet-stream サイズ: 54474 バイト 説明: 無し Download