ruby-trunk-changes r31110 - r31115

今日は海外からのコミットもありちょっと数が多めです。少しにぎやかになった感じで嬉しいですね。また TCPServer#initialize などが listen(2) に失敗した時のエラー処理の修正がありました。

akr:r31110 2011-03-16 08:41:17 +0900

ext/openssl/ossl_x509ext.c の関数マクロの引数にかっこをつける修正です。

svn:r31111 2011-03-16 08:41:20 +0900

version.h の日付更新。

drbrain:r31112 2011-03-16 13:47:18 +0900

ext/openssl/lib/openssl/buffering.rb が

module OpenSSL
  module Buffering
   ...
  end
end

のような記法だったのを

module OpenSSL::Buffering
  ...
end

のようにネストしない記法に変更しています。

このように表記を変えると定数の探索に影響があるので、実はいつでも書き換え可能なわけではありません。前者の書き方だと Buffering の中から OpenSSL に定義されている定数を直接参照できますが、後者ではできません。今回の変更では OpenSSL::Buffering の内容を見たかぎりでは問題になりそうな定数はないので大丈夫だと思います。

また rdoc 用のコメントの整形や追加が行なわれています。

drbrain:r31113 2011-03-16 15:07:03 +0900

OpenSSL::Buffering#flush で @sync を true に変更してから元に戻していないのを ensure 節で戻すようにしています。スレッドセーフではないですね。また flush のテストを追加しています。

drbrain:r31114 2011-03-16 15:10:33 +0900

subversion のプロパティで exts.mk, change.log, ext/date/{Makefile,extconf.h,mkmf.log} 等を svn:ignore に追加しています。

話が逸れますが ChangeLog に追記する雛形を change.log に生成してくれる make change なんていうターゲットがあったんですね。知りませんでした。

akr:r31115 2011-03-16 20:42:03 +0900

IPSocket のサーバー(TCPServer など)の初期化時に listen(2) がエラーを返した時にスルーしてしまっていたので、SystemCallError(Errno::EXXX) 例外を発生させるように修正しています。