about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2011-10-20 09:16:51 +0000
committerEric Wong <normalperson@yhbt.net>2011-10-20 09:16:51 +0000
commit582463d9826b8b07d01846d8fdcf2beba45df1f9 (patch)
treea8b228ec728a280466b9f20331a44f7920122757
parent0d7f4e94223bb7413b98f39ac03ddc2970f2bbb3 (diff)
downloadmogilefs-client-582463d9826b8b07d01846d8fdcf2beba45df1f9.tar.gz
-rw-r--r--lib/mogilefs/util.rb14
1 files changed, 5 insertions, 9 deletions
diff --git a/lib/mogilefs/util.rb b/lib/mogilefs/util.rb
index d621cc1..bca502a 100644
--- a/lib/mogilefs/util.rb
+++ b/lib/mogilefs/util.rb
@@ -111,20 +111,16 @@ require 'timeout'
 class MogileFS::Timeout < Timeout::Error; end
 
 class Socket
-  attr_accessor :mogilefs_addr, :mogilefs_connected, :mogilefs_size
+  attr_accessor :mogilefs_size
 
   def mogilefs_init(host = nil, port = nil)
-    return true if defined?(@mogilefs_connected)
-
-    @mogilefs_addr = Socket.sockaddr_in(port, host).freeze if port && host
+    mogilefs_addr = Socket.sockaddr_in(port, host)
 
     begin
-      connect_nonblock(@mogilefs_addr)
-      @mogilefs_connected = true
+      connect_nonblock(mogilefs_addr)
     rescue Errno::EINPROGRESS
-      nil
     rescue Errno::EISCONN
-      @mogilefs_connected = true
+      true
     end
   end
 
@@ -150,7 +146,7 @@ class Socket
       while timeout > 0
         t0 = Time.now
         r = IO.select(nil, [sock], nil, timeout)
-        return sock if r && r[1] && sock.mogilefs_init
+        return sock if r && r[1] && sock.mogilefs_init(host, port)
         timeout -= (Time.now - t0)
       end