ruby-trunk-changes r33688 - r33700

OpenBSD で Thread.pass でスレッドが切り替わってくれないことがある不具合の修正がありました。

usa:r33688 2011-11-09 22:15:12 +0900

r33688 で追加したテストに require 追加と Tempfile.new の引数追加。

akr:r33689 2011-11-09 22:26:06 +0900

r33668 で FreeBSDposix_openpt() への O_CLOEXEC フラグの対応状況についてのコメントに URL を追記しています。 参考 URL: http://www.freebsd.org/cgi/query-pr.cgi?pr=162374

nobu:r33690 2011-11-09 22:54:33 +0900

rb_sysopen() で rb_update_max_fd() を呼んでいましたが、rb_sysopen_internal() の中で呼んでいて不要だったので削除しています。

nobu:r33691 2011-11-09 23:20:27 +0900

rb_update_max_fd() で file descriptor が有効なものかどうかチェックするために fstat(2) を呼んでみているのですが、Windows でデバイスの fd を渡すと失敗するので、 errno もチェックして EBADF (Bad File Descriptor) の時だけ rb_bug() にするようにしています。 [ruby-dev:44837] [Bug #5593]
コミットログと ChangeLog のチケット番号が別のものになってるみたいですね。

nobu:r33692 2011-11-09 23:23:04 +0900

と、思ったら ChangeLog のチケット番号が修正されていました。

kosaki:r33693 2011-11-10 02:10:48 +0900

gvl_yield() に race condition があり OpenBSD で gvl->wait_yield が 1 になり続けて Thread.pass でスレッドの切り替えが置きずに同じスレッドが走り続けるのを修正しています。[ruby-core:40885] [ruby-core:38647] [Bug #5130]

svn:r33694 2011-11-10 02:10:54 +0900

version.h の日付更新。

drbrain:r33695 2011-11-10 08:45:39 +0900

OpenSSL::SSL::SSLContext#set_params メソッドの rdoc を追記しています。

nobu:r33696 2011-11-10 15:02:40 +0900

mkmf.rb で have_library, have_func, have_var, have_header などで省略可能な引数を追加して、コンパイラに渡すオプションを指定できるようにしています。文字列かまたは文字列の配列を渡せるようです。

nobu:r33697 2011-11-10 15:13:37 +0900

r33696 でコンパイラに渡すオプションの引数の指定がない時にコマンドラインに不要な空白を入れないようにしています。

nobu:r33698 2011-11-10 15:43:44 +0900

r33676 で拡張ライブラリ dbm の extconf.rb で dsize 型のバイト幅を検査するために int と long を調べていましたが LONG_LONG も候補に追加するようにしています。

nobu:r33699 2011-11-10 15:43:46 +0900

dbm の extconf.rb で dbm_pagfno(), dbm_dirfno() の存在チェックのための have_func() にコンパイラへのオプション -DDB_DBM_HSEARCH を追加するようにしています。

akr:r33700 2011-11-10 20:39:16 +0900

拡張ライブラリ dbm の dbm_pagfno() dbm_dirfno() の歴史についてのコメントに追記しています。