ruby-trunk-changes r34400 - r34404

今日は OpenBSD で Bitmap Marking GC が動いていなかった問題の修正が入りました。

nobu:r34400 2012-01-31 06:47:35 +0900

拡張ライブラリの不要な変数や関数/処理の削除と、変数の型の修正(オーバフロー対策)をしています。

svn:r34401 2012-01-31 06:47:40 +0900

version.h の日付更新。

nobu:r34402 2012-01-31 14:27:27 +0900

Ruby 本体のテスト用のユーティリティメソッド EnvUtil.invoke_ruby でブロック付きで呼び出された時にブロックに子プロセスの pid も渡すようにしています。

nobu:r34403 2012-01-31 14:29:52 +0900

IO からの読み込み待ちしているスレッドのいる時にシグナルで停止された時のテストを修正しています。sleep でタイミングをはかっていたのを子プロセス側でメインスレッドがIO待ちに入ってからパイプを通じてトークンを書き出させて、それを待つようにしています。また EnvUtil.invoke_ruby を利用して子プロセスの標準出力/標準エラー出力を捕捉するようにしています。

nari:r34404 2012-01-31 21:36:50 +0900

Bitmap Marking GC のためにヒープスロットのアライメントをとるための HEAP_ALIGN_LOG 定数を OpenBSD では実際のページサイズから計算するように configure.in に処理を追加しています。 OpenBSDposix_memalign() はページサイズの整数倍以下のアライメントでないとエラーになってしまうようです。 [ruby-core:42158] [Bug #5901]