ruby-trunk-changes r36940 - r36947

今日は昨日の変更の再修正や追加の修正で主に IO, Thread まわりの変更がありました。

naruse:r36940 2012-09-10 00:17:15 +0900

古い Mac OS X では複数の pthread が起動した状態で execv 系のシステムコールがエラーを返すので一時的にタイマースレッドを止めるようにしていますが、Haiku というプラットフォームでも同じ制約があるので条件に追加しています。

svn:r36941 2012-09-10 00:17:20 +0900

version.h の日付更新。

kosaki:r36942 2012-09-10 02:11:03 +0900

r36932 で close 時に GVL を開放するようにした変更で GVL を開放する前に fd を待ってる Thread への通知をするようにしています。また fptr->mode の変更も GVL 開放して他のスレッドに見える前にしています。 [ruby-core:35711] [Feature #4570]

kosaki:r36943 2012-09-10 02:11:25 +0900

同じく close の GVL 開放で追加した関数のコンパイル時警告抑制のために明示的なキャストを追加しています。 [ruby-core:35711] [Feature #4570]

kosaki:r36944 2012-09-10 02:29:12 +0900

拡張ライブラリ socket や IO#flush, binwrite, syswrite などでも r36931 と同様に不要な rb_thread_fd_writable() の呼び出しを削除しています。 [ruby-core:35586] [Feature #4538]

usa:r36945 2012-09-10 10:20:16 +0900

r34802 の enc/depend で {$(TARGETVPATH)} で置換しているところで置換が発生した時に String#% メソッドで "%s" を整形していなかったのを修正しています。

usa:r36946 2012-09-10 10:41:59 +0900

r36944 の拡張ライブラリ socket での rb_thread_fd_writable() の削除をいくつか revert しています。これがなくなると mswin/mingw で不正終了するようになってしまうそうです。

nobu:r36947 2012-09-10 17:21:02 +0900

r36926 で導入した最後にロック取得待ちするスレッドを保持する patrol_thread という変数を static const に宣言するように修正しています。