[#29374] nil.to_s — Shugo Maeda <shugo@...>

前田です。

59 messages 2006/09/01
[#29375] Re: nil.to_s — "U.Nakamura" <usa@...> 2006/09/01

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

[#29380] Re: nil.to_s — Yukihiro Matsumoto <matz@...> 2006/09/01

まつもと ゆきひろです

[#29387] Re: nil.to_s — Shugo Maeda <shugo@...> 2006/09/01

前田です。

[#29390] Re: nil.to_s — Yukihiro Matsumoto <matz@...> 2006/09/01

まつもと ゆきひろです

[#29398] Re: nil.to_s — "NARUSE, Yui" <naruse@...> 2006/09/01

成瀬です。

[#29400] Re: nil.to_s — Yukihiro Matsumoto <matz@...> 2006/09/01

まつもと ゆきひろです

[#29491] symbol and string — Tanaka Akira <akr@...>

open-uri で :proxy=>nil という指定を行うと、以下のようにエラーになります。

33 messages 2006/09/05
[#29499] Re: symbol and string — Yukihiro Matsumoto <matz@...> 2006/09/05

まつもと ゆきひろです

[#29500] Re: symbol and string — Tanaka Akira <akr@...> 2006/09/05

In article <1157470154.047826.13379.nullmailer@x31.priv.netlab.jp>,

[#29503] Re: symbol and string — Yukihiro Matsumoto <matz@...> 2006/09/06

まつもと ゆきひろです

[#29504] Re: symbol and string — Tanaka Akira <akr@...> 2006/09/06

In article <1157505538.340126.8472.nullmailer@x31.priv.netlab.jp>,

[#29507] Re: symbol and string — Yukihiro Matsumoto <matz@...> 2006/09/06

まつもと ゆきひろです

[#29512] Re: symbol and string — keiju@... (石塚圭樹) 2006/09/06

けいじゅ@いしつかです.

[#29529] Re: symbol and string — SASADA Koichi <ko1@...> 2006/09/08

 ささだです。

[#29530] Re: symbol and string — Yukihiro Matsumoto <matz@...> 2006/09/08

まつもと ゆきひろです

[ruby-dev:29417] EINVAL in "drb/unix.rb:91:in `path'"

From: Tanaka Akira <akr@...>
Date: 2006-09-02 17:05:27 UTC
List: ruby-dev #29417
あと、

In article <87veo6uujp.fsf@fsij.org>,
  Tanaka Akira <akr@fsij.org> writes:

>   1) Failure:
> test_03(TestDRbUNIXCore) [/var/tmp/rka/gcc-32-nopth-18/ruby/test/drb/drbtest.rb:143]:
> <ArgumentError> exception expected but was
> Class: <Errno::EINVAL>
> Message: <"Invalid argument">
> ---Backtrace---
> /var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/unix.rb:91:in `path'
> /var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/unix.rb:91:in `close'
> /var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1199:in `close'
> /var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1181:in `open'
> /var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1085:in `method_missing'
> /var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1103:in `with_friend'
> /var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1084:in `method_missing'
> /var/tmp/rka/gcc-32-nopth-18/ruby/test/drb/drbtest.rb:144:in `test_03'
> /var/tmp/rka/gcc-32-nopth-18/ruby/test/drb/drbtest.rb:143:in `test_03'
> ---------------

の失敗ですが、これは unix.rb:91 のあたりを

begin
      path = @socket.path
rescue Errno::EINVAL
  p @socket
  raise
end

と変えると

Loaded suite test_drbunix.rb
Started
...........#<UNIXSocket:0x405d9188>
F..#<UNIXSocket:0x405920d0>
F#<UNIXSocket:0x40580dd8>
F#<UNIXSocket:0x400348c8>
E.#<UNIXSocket:0x40626690>
E.#<UNIXSocket:0x4061cec8>
E

となり、(bind していない、クライアント側の) UNIXSocket の
path を得られない、という話のようです。

UNIX domain socket の path を得られるかどうか、というのは
(残念ながら) 単純な話ではないので、可能なら避けるほうがいい
と思います。

直後に
      File.unlink(path) if @server_mode
という行があるところを見ると、path を得るのをサーバ側だけ
に限定するのは簡単なように思うのですがどうでしょう?

たとえば
      path = @socket.path if @server_mode
とするとか。
-- 
[田中 哲][たなか あきら][Tanaka Akira]

In This Thread