Project

General

Profile

Bug #3923

bad error messages for Winsock (on Win32)

Added by arton (Akio Tajima) about 10 years ago. Updated over 9 years ago.

Status:
Closed
Priority:
Normal
Target version:
ruby -v:
ruby 1.9.2p0 (2010-08-18 revision 29036) [i386-mswin32_100]
Backport:

Description

=begin
Winsock関係のErrnoのメッセージが異常です。
例)Errno::EWOULDBLOCK -> 既にパスが置き換えられているドライブ上のディレクトリにドライブを接続しようとしました。
この場合、正しくは「ブロック不可のソケット操作をすぐに完了できませんでした。」です。
理由)WinSock固有のエラーコードをerrnoに変換したまま、strerrorを呼び出しているため。
パッチとテストを添付します。
=end


Files

errno_message.patch (2.32 KB) errno_message.patch win32/win32.cのパッチ arton (Akio Tajima), 10/10/2010 01:31 AM
test_errno_message.rb (4.46 KB) test_errno_message.rb CP932用テストプログラム arton (Akio Tajima), 10/10/2010 01:31 AM
#1

Updated by usa (Usaku NAKAMURA) about 10 years ago

=begin
お約束ですが、パッチはunified diff形式で出してくれると助かります。

それはさておき、これたぶんVC10だけですよね。
正直なところ、この対処法はかなり気に入らないんですが、どうしようかなあ。
=end

#2

Updated by arton (Akio Tajima) about 10 years ago

=begin

お約束ですが、パッチはunified
diff形式で出してくれると助かります。
すみません。

それはさておき、これたぶんVC10だけですよね。
正直なところ、この対処法はかなり気に入らないんですが、
どうしようかなあ。

encodingの話と合わせて、errnoの変換ついでにmessageもRuby
持ち(BSDの実装あたりからメッセージを拝借)にしたらどう
でしょうか。


Learn more about breast cancer - Pink Ribbon Campaign 2010
http://yj.pn/JAy9L7

=end

#3

Updated by usa (Usaku NAKAMURA) about 10 years ago

  • Status changed from Open to Assigned
  • Assignee set to usa (Usaku NAKAMURA)

=begin

=end

#4

Updated by usa (Usaku NAKAMURA) about 10 years ago

=begin
こんにちは、なかむら(う)です。

In message "[ruby-dev:42361] Re: [Ruby 1.9-Bug#3923] bad error messages for Winsock (on Win32)"
on Oct.12,2010 12:46:48, artonx@yahoo.co.jp wrote:

encodingの話と合わせて、errnoの変換ついでにmessageもRuby
持ち(BSDの実装あたりからメッセージを拝借)にしたらどう
でしょうか。

そっちの話は完全に別だと思うんですが、自前でメッセージ持つく
らいならUS English指定します...

それでは。
--
U.Nakamura usa@garbagecollect.jp

=end

#5

Updated by usa (Usaku NAKAMURA) about 10 years ago

=begin
逆変換する範囲を、VC10のみ、かつ、追加されたerrnoに絞るようにして
パッチを入れてみました。
要するにVC10のバカヤロウがerrno追加したくせにsyserror()で対応しない
のが悪いのです。ぷんぷん。
(別に規格に反してるとかいうわけじゃないのが余計に腹立たしい)
=end

#6

Updated by usa (Usaku NAKAMURA) about 10 years ago

  • Status changed from Assigned to Closed

=begin
r29449 で修正されました(なぜか自動closeされない)
=end

Also available in: Atom PDF